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

标签 laravel-4 composer-php

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

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

/app/config/local/packages/provider/package_name/overridefile.php

不幸的是,这不适用于具有以下结构的 Kint:

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

Kint documentation状态:

You can optionally copy the included config.default.php and rename to config.php to override default values…

...这对我有用(/vendor/raveren/kint/config.php)

我如何实现这一点:

  • 无需编辑/vendor/目录中将被 Composer 覆盖的文件
  • 以便仅在本地环境中启用 kint

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

<?php
isset( $GLOBALS['_kint_settings'] ) or $GLOBALS['_kint_settings'] = array();
$_kintSettings = &$GLOBALS['_kint_settings'];

/** @var bool if set to false, kint will become silent, same as Kint::enabled(false) or Kint::$enabled = false */
$_kintSettings['enabled'] = false;

unset( $_kintSettings );

(但没有骰子:)

有什么建议吗? TIA!

最佳答案

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

// to disable all output
Kint::enabled(false);

Laravel 中,您可以使用以下命令检查环境

$env = App::environment();
if($env == 'your_predefined_environment') {
    Kint::enabled(false);
}

要配置您的环境,您可以检查documentation .

更新:我已将本地环境设置如下(在 bootstrap/start.php 中)

$env = $app->detectEnvironment(array(
    'local' => array('*.dev'),
));

在我的本地计算机中,我设置了一个虚拟机,它以 laravel4.dev 作为基本 URL,因此如果我使用 laravel4.dev 或 laravel4.dev 访问该应用程序/logon 然后我可以检查 BaseController.php 中的环境,它会检测到本地环境,因为 .dev

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

就您而言,我不知道您用于打印输出的第一个调试/跟踪在哪里,因此您应该在使用任何 debug/trace 但您可以尝试此操作(如果它适合您),但您也可以检查 filter/routes 文件中的环境。

关于laravel-4 - Laravel 4下如何在本地环境中禁用Kint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19738344/

相关文章:

laravel select where 和 where 条件

Laravel:多次使用不同位置的查询

php - 使用 composer 安装 Laravel 4 包

php - 将参数传递给 laravel 中的 Restful Controller

php - 在代码测试之前清除 laravel 4 应用程序的缓存

php - 如何安装 phpwkhtmltopdf

php - 覆盖随 Composer 安装的库中的类的策略

php - Composer 是 "killed"自动从 SSH

composer-php - Composer : Cannot install behat and mink in laravel 5. 2 新项目

php - 在没有类依赖的自定义类/子系统中使用 Laravel 4 模型