检查输入是否来自控制台
Check if input is from console
我想与以下人分享我的观点:
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
\Schema::defaultStringLength(191);
$customers = Customer::get();
\View::share('customers', $customers);
}
}
它按预期工作,但是当我想通过 artisan 迁移我的 table 时它抛出一个错误,找不到 customers
的 table 因为它被检查了在迁移开始之前。所以我需要像
这样的东西
if(!artisan_request) {
//request to laravel is via web and not artisan
}
但是我没有在文档中找到任何内容。
要在控制台中检测应用程序是否运行,您可以这样做:
use Illuminate\Support\Facades\App;
if(App::runningInConsole())
{
// app is running in console
}
您可以在控制台中使用
检查您是否运行
app()->runningInConsole()
在此之下,它所做的只是检查接口类型
return php_sapi_name() == 'cli' || php_sapi_name() == 'phpdbg'
您可以在 PHP Docs site
上找到更多信息
我想与以下人分享我的观点:
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
\Schema::defaultStringLength(191);
$customers = Customer::get();
\View::share('customers', $customers);
}
}
它按预期工作,但是当我想通过 artisan 迁移我的 table 时它抛出一个错误,找不到 customers
的 table 因为它被检查了在迁移开始之前。所以我需要像
if(!artisan_request) {
//request to laravel is via web and not artisan
}
但是我没有在文档中找到任何内容。
要在控制台中检测应用程序是否运行,您可以这样做:
use Illuminate\Support\Facades\App;
if(App::runningInConsole())
{
// app is running in console
}
您可以在控制台中使用
检查您是否运行app()->runningInConsole()
在此之下,它所做的只是检查接口类型
return php_sapi_name() == 'cli' || php_sapi_name() == 'phpdbg'
您可以在 PHP Docs site
上找到更多信息