【发布时间】:2013-10-05 18:01:02
【问题描述】:
这可能是一个愚蠢的问题,但我对 CakePHP 2.3 有一个奇怪的行为。
在我的模型中,我定义了一些常量:
class ImageSpecification extends AppModel {
public $name = 'ImageSpecification';
const THUMBNAIL = 1;
const NORMAL = 2;
const HIDEF = 3;
const EXTRA = 4;
[...]
}
在ImagesController,我做了一个App:uses('ImageSpecification', 'Model'),我可以在使用$this->loadModel('ImageSpecification')之后成功加载ImageSpecification数据。但是,一旦我使用一个常量(即:ImageSpecification::THUMBNAIL),它就会失败并且我有错误:
致命错误:在第 2 行的 ../app/Model/ImageSpecification.php 中找不到类“AppModel”
AppModel.php 位于/app/Model 目录中。无需更改任何代码,其他模型就可以正常工作,如果我直接使用常量值而不是使用常量,那么ImageSpecification / ImagesController 也可以。那么,这里有什么问题呢? PHP 中的语言或语法错误?
【问题讨论】:
-
那么您究竟在哪里访问这些常量?拨打
Controller::loadModel()之后?还是您在谈论两种不同的情况? ps,请务必提及您的确切 CakePHP 版本!