如何在 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。所以你不会在你的本地文件中有未提交的更改。
在本地开发环境中禁用缓存的最佳做法是什么?
您可以在 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。所以你不会在你的本地文件中有未提交的更改。