Php App::import()不工作的可能原因是什么?
我正在尝试用CakePhp实现一种管理静态页面的简单方法,如中所述 我面临的问题是,Php App::import()不工作的可能原因是什么?,php,cakephp,Php,Cakephp,我正在尝试用CakePhp实现一种管理静态页面的简单方法,如中所述 我面临的问题是,App::import()似乎没有在routes.php文件中导入所需的类 代码如下: App::import('Model','StaticPage'); $page = new StaticPage(); $slugs = $page->find('list', array( 'fields' => array('StaticPage.slug'), 'order
App::import()
似乎没有在routes.php文件中导入所需的类
代码如下:
App::import('Model','StaticPage');
$page = new StaticPage();
$slugs = $page->find('list', array(
'fields' => array('StaticPage.slug'),
'order' => 'StaticPage.slug DESC'
));
我收到错误:致命错误:在…中找不到类“StaticPage”
这个类存在于models文件夹(models/StaticPage.php)中 我几周前刚开始CakePhp,我想我错过了一件简单的事情
我使用的是CakePHP1.3和PHP5.2.42。就像错误所说的:您缺少类静态页面。你确定你有这个文件吗?如果是这样,请确保它位于正确的位置,具有正确的文件名,以便自动加载程序可以找到它?快速查看您引用的文章后,您的代码片段不匹配。您正在导入
ClassRegistry
类(不需要导入),然后尝试实例化StaticPage
。我建议同时删除AppImport
引用并使用ClassRegistry
:
$page = ClassRegistry::init( 'StaticPage' );
您不需要AppImport
行,因为ClassRegistry::init()
同时加载模型和实例化对象
我看到的另一个(潜在)问题是您的模型文件名不符合约定。它应该是
models/static\u page.php
。Cake的拐点可能无法处理与规范的偏差。我认为它不起作用的原因是因为您没有遵循CakePHP:文件名是小写和下划线的。因此,将您的文件重命名为static\u page.php
应该可以解决问题。该文件位于app/models/StaticPage.php中,并在链接文章中实现,看起来您在我发布答案的同时编辑了代码片段。现在代码片段匹配起来了。