laravel - 检查输入是否来自控制台

标签 laravel laravel-5 laravel-5.4 laravel-artisan

我想与以下人员分享我的观点变量:

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

它按预期工作,但是当我想通过 artisan 迁移我的表时,它会抛出一个错误,即 customers 的表未找到,因为在迁移开始之前对其进行了检查。所以我需要类似的东西
if(!artisan_request) {
    //request to laravel is via web and not artisan
} 

但是我在文档中没有找到任何东西。

最佳答案

您可以使用以下方法检查您是否在控制台中运行

app()->runningInConsole()

在此之下,它所做的只是检查接口(interface)类型
return php_sapi_name() == 'cli' || php_sapi_name() == 'phpdbg'

您可以在 PHP Docs site 上找到更多信息

关于laravel - 检查输入是否来自控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44112238/

相关文章:

laravel - AWS Iam 命令,在终端中正常工作,但在 Laravel/PHP AWS SDK 中不起作用

php - 调用发送函数后如何获取 Laravel 邮件响应?

php - 模型工厂与现有模型的关联

php - 无法刷新 Laravel 中的迁移

laravel - 如何将验证规则应用于数组中存在的每个元素?

laravel - 自定义 header 在 Laravel $request 对象中不可用

php - Laravel 时间戳在没有明确调用的情况下被更新

php - Laravel 5 如何在循环中循环

php - 单元测试 laravel 包时找不到配置类

ajax - Laravel Ajax 登录,成功后重定向到上一个网址