2017-05-22 78 views
2

我想分享的我的看法變:檢查輸入是否來自控制檯

class AppServiceProvider extends ServiceProvider 
{ 
    /** 
    * Bootstrap any application services. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     \Schema::defaultStringLength(191); 
     $customers = Customer::get(); 
     \View::share('customers', $customers); 
    } 
} 

它能正常工作,但是當我想通過工匠遷移我的表,它拋出一個錯誤,該表對於customers未找到,因爲在遷移開始之前已對其進行檢查。所以我需要像

if(!artisan_request) { 
    //request to laravel is via web and not artisan 
} 

但我沒有在文檔中找到任何東西。

回答

3

您可以檢查,如果你在控制檯中使用

運行
app()->runningInConsole() 

下面,它只是檢查接口類型

return php_sapi_name() == 'cli' || php_sapi_name() == 'phpdbg' 

更多關於PHP Docs site