Laravel 4 如何在Laravel 4下禁用本地环境中的Kint

Laravel 4 如何在Laravel 4下禁用本地环境中的Kint,laravel-4,composer-php,Laravel 4,Composer Php,我在Laravel 4中通过Composer使用Kint,首先在Composer.json中加载Kint,这样dd()由Kint定义,而不是Laravel(建议) 我想在我的应用程序中保留调试调用,如果不在本地环境中,则禁用Kint。我正在使用以下结构成功地为Anvard使用配置覆盖: /app/config/local/packages/provider/package\u name/overridefile.php $env = $app->detectEnvironment(arra

我在Laravel 4中通过Composer使用Kint,首先在Composer.json中加载Kint,这样dd()由Kint定义,而不是Laravel(建议)

我想在我的应用程序中保留调试调用,如果不在本地环境中,则禁用Kint。我正在使用以下结构成功地为Anvard使用配置覆盖:

/app/config/local/packages/provider/package\u name/overridefile.php

$env = $app->detectEnvironment(array(
    'local' => array('*.dev'),
));
不幸的是,这不适用于具有以下结构的Kint:

/app/config/packages/ravelen/kint/local/config.php
/app/config/packages/ravelen/kint/local/config.default.php

各国:

您可以选择复制包含的config.default.php并重命名为config.php以覆盖默认值

…对我有用(
/vendor/ravelen/kint/config.php

我如何做到这一点:

  • 不编辑/vendor/目录中将被composer覆盖的文件
  • 这样kint只在本地环境中启用

我还尝试将以下内容添加到helpers.php文件中,该文件在/bootstrap/autoload.php中的composer之前调用:


我不熟悉
kint
,但检查了文档,发现要禁用
kint
输出,可以使用(在运行时)

Laravel
中,您可以使用

$env = App::environment();
if($env == 'your_predefined_environment') {
    Kint::enabled(false);
}
要配置您的环境,您可以检查

更新:我已经设置了我的本地环境,如下所示(在
bootstrap/start.php
中)

在我的本地机器中,我设置了一个虚拟mashine,它的基本url是
laravel4.dev
,因此如果我使用
laravel4.dev或laravel4.dev/logon
访问应用程序,那么我可以在
BaseController.php
中检查环境,它会检测到本地环境,因为
.dev

public function __construct()
{
    if(App::environment() == 'local') {
        // do something
    }
}

在您的情况下,我不知道用于打印输出的第一个调试/跟踪在哪里,因此在使用任何
debug/trace
之前,您应该保持环境检查并禁用
Kint
代码,但您可以尝试此方法(如果它适合您)但是您也可以检查
过滤器/路由
文件中的环境。

我不熟悉
kint
,但检查了文档,发现要禁用
kint
输出,您可以使用(在运行时)

Laravel
中,您可以使用

$env = App::environment();
if($env == 'your_predefined_environment') {
    Kint::enabled(false);
}
要配置您的环境,您可以检查

更新:我已经设置了我的本地环境,如下所示(在
bootstrap/start.php
中)

在我的本地机器中,我设置了一个虚拟mashine,它的基本url是
laravel4.dev
,因此如果我使用
laravel4.dev或laravel4.dev/logon
访问应用程序,那么我可以在
BaseController.php
中检查环境,它会检测到本地环境,因为
.dev

public function __construct()
{
    if(App::environment() == 'local') {
        // do something
    }
}

在您的情况下,我不知道用于打印输出的第一个调试/跟踪在哪里,因此在使用任何
debug/trace
之前,您应该保持环境检查并禁用
Kint
代码,但您可以尝试此方法(如果它适合您)但是您也可以在
过滤器/路由文件中检查环境。

嗯。。我不确定这是否是一种理想的方法,但这种方法很有效,而且似乎有点夸张:

// top of app/start/global.php
Kint::enabled(false);

(假设您已经定义了本地环境:有关更多信息,请参阅@TheAlpha的答案)


嗯。。我不确定这是否是一种理想的方法,但这种方法很有效,而且似乎有点夸张:

// top of app/start/global.php
Kint::enabled(false);

(假设您已经定义了本地环境:有关更多信息,请参阅@TheAlpha的答案)


tx!你能建议我把代码放在哪里吗?如果可能的话,我愿意遵守惯例。。(还有..哎哟,复制我Q中的意大利面错误-我尝试了
enabled=false
,编辑)tx以获得详细答案!Tx,
Kint::enabled(false)
如果我把它放在routes.php或config/app.php的顶部,它对我很有用。。。我将把这个问题留一点时间,因为我喜欢使用常规配置/覆盖的解决方案。。又来了!德克萨斯州!你能建议我把代码放在哪里吗?如果可能的话,我愿意遵守惯例。。(还有..哎哟,复制我Q中的意大利面错误-我尝试了
enabled=false
,编辑)tx以获得详细答案!Tx,
Kint::enabled(false)
如果我把它放在routes.php或config/app.php的顶部,它对我很有用。。。我将把这个问题留一点时间,因为我喜欢使用常规配置/覆盖的解决方案。。又来了!Kint的作者,谢谢你的尝试,希望能有所帮助。我正在积极研究并计划重新安排设置位置,以使作曲家用户的生活更轻松,我只是还没有一个明确的解决方案:hi@Ravelen!我认为Laravel会将/Vendor/ravelen/Kint/src/config/config.php作为覆盖。。也许金特也可以去那里看看<代码>php artisan publish:ravelen/kint
将配置覆盖文件复制到正确的位置…我在这里创建了一个问题:时间允许时,我将研究这种情况,感谢您的贡献!:)Kint的作者,谢谢你的尝试,希望能有所帮助。我正在积极研究并计划重新安排设置位置,以使作曲家用户的生活更轻松,我只是还没有一个明确的解决方案:hi@Ravelen!我认为Laravel会将/Vendor/ravelen/Kint/src/config/config.php作为覆盖。。也许金特也可以去那里看看<代码>php artisan publish:ravelen/kint
将配置覆盖文件复制到正确的位置…我在这里创建了一个问题:时间允许时,我将研究这种情况,感谢您的贡献!:)意外的否决票,而我却没有名声去撤销它。除非你进行编辑。很抱歉,但是如果你