所以我有这个函数,它获取Laravel项目所在的剩余内存。问题是有两个控制器需要检查剩余的内存。
这是它看起来像它就在我的控制器
private function convGB($bytes, $unit = "", $decimals = 2)
{
$units = array('B' => 0, 'KB' => 1, 'MB' => 2, 'GB' => 3, 'TB' => 4,
'PB' => 5, 'EB' => 6, 'ZB' => 7, 'YB' => 8);
$value = 0;
if ($bytes > 0)
{
if (!array_key_exists($unit, $units))
{
$pow = floor(log($bytes)/log(1024));
$unit = array_search($pow, $units);
}
$value = ($bytes/pow(1024,floor($units[$unit])));
}
if (!is_numeric($decimals) || $decimals < 0) {
$decimals = 2;
}
return sprintf('%.' . $decimals . 'f '.$unit, $value);
}
private function getMem()
{
$ds = disk_total_space(substr(base_path(), 0, 2));
$fs = disk_free_space(substr(base_path(), 0, 2));
$ffs = disk_free_space(substr(base_path(), 0, 2));
if ($ds >= 1073741824)
{
$ds = number_format($ds / 1073741824, 2) . ' GB';
}
elseif ($ds >= 1048576)
{
$ds = number_format($ds / 1048576, 2) . ' MB';
}
elseif ($ds >= 1024)
{
$ds = number_format($ds / 1024, 2) . ' KB';
}
elseif ($ds > 1)
{
$ds = $ds . ' B';
}
elseif ($ds == 1)
{
$ds = $ds . ' B';
}
else
{
$ds = '0 size';
}
if ($fs >= 1073741824)
{
$fs = number_format($fs / 1073741824, 2) . ' GB';
}
elseif ($fs >= 1048576)
{
$fs = number_format($fs / 1048576, 2) . ' MB';
}
elseif ($fs >= 1024)
{
$fs = number_format($fs / 1024, 2) . ' KB';
}
elseif ($fs > 1)
{
$fs = $fs . ' B';
}
elseif ($fs == 1)
{
$fs = $fs . ' B';
}
else
{
$fs = '0 size';
}
$converted = $this->convGB($ffs);
return array( $ds , $fs , $converted);
}
所以我想把这个函数放在一个外部PHP中,以便在需要时调用它。有什么办法吗?非常感谢!
在你的应用程序/助手目录中创建一个新文件,命名为AnythingHelper.php我的助手的一个例子是:
<?php
function getDomesticCities()
{
$result = \App\Package::where('type', '=', 'domestic')
->groupBy('from_city')
->get(['from_city']);
return $result;
}
通过以下命令为您的助手生成服务提供程序
php artisan make:provider HelperServiceProvider
在新生成的HelperServiceP的寄存器函数中rovider.php添加以下代码
require base_path().'/app/Helpers/AnythingHelper.php';
现在在您的配置/应用程序中。php加载这个服务提供者,您就完成了
'App\Providers\HelperServiceProvider',
代码取自此处:如何在laravel 5中创建全局助手函数?
问题内容: 如何从网页的任何位置(控制器组件外部)调用控制器下定义的函数? 当我按下“获取”按钮时,它可以完美运行。但是我需要从div控制器外部调用它。逻辑是:默认情况下,我的div是隐藏的。在导航菜单中的某个位置,我按了一个按钮,它应该显示()我的div并执行“获取”功能。我该如何实现? 我的网页是: 我的js: 问题答案: 这是从外部调用控制器功能的一种方法: 您的控制器的功能在哪里。 你可以
假设我有一个名为的扩展,my_extension一个名为的插件。 然后,我的控制器中有一个名为的函数。 如何通过通常的http GET请求从外部调用此?
问题内容: 我单击时有一个下面的按钮,显示一个小的弹出窗口,如通知 我的意图是每隔几秒钟显示一次此弹出窗口,而不用单击按钮,而是从AngularJS控制器显示。 尝试以下解决方案 还包括脚本 使用这样的指令 我看到一个错误“对象没有方法弹出窗口” 问题答案: 伪指令用于DOM操作: 和指令
问题内容: function parts($part) { $structure = ‘http://’ . $site_url . ‘content/’; echo($tructure . $part . ‘.php’); } 该函数使用在页面顶部定义的变量,但是此变量未传递到该函数中。 我们如何使它返回到函数中? 问题答案: 添加第二个参数 您需要将其他参数传递给函数: 如果关闭 如果您希望使
问题内容: 尝试在指令的链接函数中使用与号&来调用传递给指令的函数时遇到问题。 似乎在控制器上调用了该函数,但在调用中未传递任何参数。我们看到的所有示例都涉及通过在模板中创建调用来进行传递。有没有一种方法可以从其模板的指令中调用指令中的函数,然后在指令中执行某些操作,以调用传递给它的控制器函数? 问题答案: 您是否在s中传递了参数?例如,在指令的链接函数中,您将希望像这样调用方法: jsfiddl
问题内容: 我有一个不错的页面,可以满足我的所有需求。但是,其中一个元素(部分页面)花费的时间比我要加载的时间长几秒钟。因此,我想做的是先显示该页面,而不显示部分内容,而在其位置显示“正在加载” gif。然后在我的jQuery中… 我想调用我的控制器操作,该操作返回PartialView并更新div内容。它基本上在加载时异步调用部分加载。我可以使用ActionLink做到这一点,直到达到我希望在加