根据控制器禁用 debug_kit
Disable debug_kit depending on controller
我是 运行 CakePHP 4.1.4 以及我在互联网上找到的东西,所以它不起作用,因为有些答案已有 9 年历史。我在 config/app.php
中试过了
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
--- or ---
'debug' => FALSE,
或 AppController.php
public function initialize(): void
{
Configure::write('debug', 0);
没有任何帮助。这个图标在左下角仍然可见:
我的问题:
我怎样才能为某些控制器完全删除它,如果不可能,那么对于整个项目。
更改控制器层中的 debug
选项为时已晚,是否加载 Debug Kit 插件的决定默认位于 Application::bootstrap()
中,位于 src/Application.php
中。 Debug Kit 本身也会检查 debug
配置选项,但是这也会发生在到达控制器层之前,它发生在中间件层。
如果您使用最新版本的 cakephp/app
应用程序模板来创建您的应用程序,那么您应该在 config/app_local.php
中设置 debug
值,该值将在之后加载config/app.php
,并将 set/overwrite 一些具有环境特定值的设置。
我不认为有任何过于直接的方法来禁用每个路由的调试工具包。该插件会将中间件注入中间件堆栈的顶部,高于其他所有内容。您可以轻松获得的最接近的可能是使用 DebugKit.ignorePathsPattern
option,它接受与当前请求路径匹配的 RegEx 模式。然而 并没有 真正禁用 Debug Kit,它只会隐藏它,而不保存在该请求中捕获的调试数据。此外,这仅适用于 2xx
状态代码范围内的响应。
长话短说,您可能不得不选择启用它或禁用它。
我是 运行 CakePHP 4.1.4 以及我在互联网上找到的东西,所以它不起作用,因为有些答案已有 9 年历史。我在 config/app.php
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
--- or ---
'debug' => FALSE,
或 AppController.php
public function initialize(): void
{
Configure::write('debug', 0);
没有任何帮助。这个图标在左下角仍然可见:
我的问题:
我怎样才能为某些控制器完全删除它,如果不可能,那么对于整个项目。
更改控制器层中的 debug
选项为时已晚,是否加载 Debug Kit 插件的决定默认位于 Application::bootstrap()
中,位于 src/Application.php
中。 Debug Kit 本身也会检查 debug
配置选项,但是这也会发生在到达控制器层之前,它发生在中间件层。
如果您使用最新版本的 cakephp/app
应用程序模板来创建您的应用程序,那么您应该在 config/app_local.php
中设置 debug
值,该值将在之后加载config/app.php
,并将 set/overwrite 一些具有环境特定值的设置。
我不认为有任何过于直接的方法来禁用每个路由的调试工具包。该插件会将中间件注入中间件堆栈的顶部,高于其他所有内容。您可以轻松获得的最接近的可能是使用 DebugKit.ignorePathsPattern
option,它接受与当前请求路径匹配的 RegEx 模式。然而 并没有 真正禁用 Debug Kit,它只会隐藏它,而不保存在该请求中捕获的调试数据。此外,这仅适用于 2xx
状态代码范围内的响应。
长话短说,您可能不得不选择启用它或禁用它。