我有一个有趣的问题,我想尝试解决。 Laravel具有内置的“维护模式”,可以通过调用应用程序根文件夹中的php artisan down
来激活它。 app / start / global.php中有一个设置,您可以在其中分配视图或响应。在我的应用程序中,我做到了这一点:
App::down(function()
{
// ETA Format: YYYY-MM-DD HH-MM-SS. Leave as "" to pass indeterminate time.
return View::make("maintenance", array("code" => 503,
"message" => "Service Unavailable",
"eta" => "2014-11-07 13:30:00"));
});
这样做会显示一个漂亮,干净的“我们将在右后方”屏幕,显示状态信息和预计完成时间。请注意,我已经硬编码了一些传递给视图的参数:
code -> The http status code I want displayed
message -> A message about the nature of the disruption
eta -> A timestamp of the estimated completion time
我想知道的是,有没有办法可以修改php artisan down
我可以传递一些参数?例如,我想尝试这样的事情:
php artisan down --eta="2014-11-07 13:30:00" --code="503"
因此,每次将应用程序置于维护模式时,我都不必手动编写这些参数。我已经阅读了Laravel关于创建工匠命令的文档,但是没有关于修改现有命令,复制它们和添加功能的文档。
如果有人对此有任何见解,请告诉我。
答案 0 :(得分:1)
尝试创建一个您可以调用的新命令(例如app:down)将这些选项写入文件,然后在内部调用laravel down命令,例如。
public function fire() {
$data = json_encode($this->option());
file_put_contents('/tmp/down.txt', $data);
$this->call('down');
}
然后你可以在视图代码中选择那些......
$data = json_decode(file_get_contents('/tmp/down.txt'), true);
return View::make('maintenance', $data);