Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php App::import()不工作的可能原因是什么?_Php_Cakephp - Fatal编程技术网

Php App::import()不工作的可能原因是什么?

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

我正在尝试用CakePhp实现一种管理静态页面的简单方法,如中所述

我面临的问题是,
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中,并在链接文章中实现,看起来您在我发布答案的同时编辑了代码片段。现在代码片段匹配起来了。