CakePHP 3: Class 'Configure' 未找到
CakePHP 3: Class 'Configure' Not Found
我昨天刚开始使用 CakePHP v3.1.3,我正在一次迁移我的 CakePHP 2.4.2 站点的极小部分。主要是想了解这些变化。我遇到 Configure::read()
.
的问题
一些背景信息:我有 SettingsSite、SettingsSiteHeaders 和 SettingsSitesOptions tables 在我的数据库中,我也为它们制作了相应的 table 对象。在我的 SettingsSiteTable class 中,我有一个方法可以检索存储在数据库中的设置。一切都很好,下面的代码在我的 AppController 中运行没问题。
<?php
namespace App\Controller;
use Cake\Controller\Controller;
use Cake\Event\Event;
use Cake\Core\Configure;
class AppController extends Controller{
public function beforeFilter(Event $event){
debug(Configure::read('SettingsSite.title'));
}
我在获取正确显示在我的视图中的值时遇到了问题。
我的主题默认布局中有以下代码,位于 plugins/Default/src/Template/Layout/default.ctp
<title>
<?php
echo $this->fetch('title') . ' | ' .
Configure::read('SettingsSite.title');
?>
</title>
我收到一条错误消息“Class 'Configure' 未在 plugins/Default/src/Template/Layout/default.ctp 中找到”。
然后我转到 AppView.php 文件并在名称空间声明下添加以下行:
use Cake\Core\Configure;
错误仍然存在。
只需将您的设置设为应用控制器的 beforeFilter 中的视图变量即可:)
只需使用
use Cake\Core\Configure;
在你的控制器之上
此外,如果您在应用程序文件夹中有自定义配置文件。您可以将其加载到 Bootstrap 文件中并像这样加载配置;
$config = Configure::read('App.namespace');
debug($config);
在您的布局中使用以下行。这对我有用:
<?php use Cake\Core\Configure; ?>
<title>
<?php
echo $this->fetch('title') . ' | ' .
Configure::read('SettingsSite.title');
?>
</title>
我昨天刚开始使用 CakePHP v3.1.3,我正在一次迁移我的 CakePHP 2.4.2 站点的极小部分。主要是想了解这些变化。我遇到 Configure::read()
.
一些背景信息:我有 SettingsSite、SettingsSiteHeaders 和 SettingsSitesOptions tables 在我的数据库中,我也为它们制作了相应的 table 对象。在我的 SettingsSiteTable class 中,我有一个方法可以检索存储在数据库中的设置。一切都很好,下面的代码在我的 AppController 中运行没问题。
<?php
namespace App\Controller;
use Cake\Controller\Controller;
use Cake\Event\Event;
use Cake\Core\Configure;
class AppController extends Controller{
public function beforeFilter(Event $event){
debug(Configure::read('SettingsSite.title'));
}
我在获取正确显示在我的视图中的值时遇到了问题。
我的主题默认布局中有以下代码,位于 plugins/Default/src/Template/Layout/default.ctp
<title>
<?php
echo $this->fetch('title') . ' | ' .
Configure::read('SettingsSite.title');
?>
</title>
我收到一条错误消息“Class 'Configure' 未在 plugins/Default/src/Template/Layout/default.ctp 中找到”。
然后我转到 AppView.php 文件并在名称空间声明下添加以下行:
use Cake\Core\Configure;
错误仍然存在。
只需将您的设置设为应用控制器的 beforeFilter 中的视图变量即可:)
只需使用
use Cake\Core\Configure;
在你的控制器之上
此外,如果您在应用程序文件夹中有自定义配置文件。您可以将其加载到 Bootstrap 文件中并像这样加载配置;
$config = Configure::read('App.namespace');
debug($config);
在您的布局中使用以下行。这对我有用:
<?php use Cake\Core\Configure; ?>
<title>
<?php
echo $this->fetch('title') . ' | ' .
Configure::read('SettingsSite.title');
?>
</title>