如何在 cakephp 3.x 中完全禁用缓存

How do I disable caching completely in cakephp 3.x

在本地开发环境中禁用缓存的最佳做法是什么?

您可以在 bootstrap.php 中使用 \Cake\Cache\Cache::disable()。但是,我不知道这被引用为 'best practise'。

对于 CakePHP 4,您可以执行以下操作

src/Application.php

use Cake\Cache\Cache;
...
    public function bootstrap(): void
    {
        parent::bootstrap();

        if (Configure::read('debug')) {
            Cache::disable();
    }

完全禁用缓存

您还可以 select 仅禁用数据库元数据缓存,将 Cache::disable(); 替换为

            $connection = ConnectionManager::get('default');
            $connection->cacheMetadata(false);

您可以 select 您配置的数据源而不是 default 别忘了use Cake\Datasource\ConnectionManager;

然后您只需要在 app_local.php 中使用 'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN) 或在 .env 设置 DEBUG=true(或 APP_DEBUG 中启用调试,仔细查看你的配置)如果你正在使用 dotenv。所以你不会在你的本地文件中有未提交的更改。