【发布时间】:2013-07-08 23:25:34
【问题描述】:
在模型 (.php) 文件的类声明行中,我试图扩展一个不同的类然后 AppModel。假设我有一些模型,包括Model、ModelOrder 和ModelLastShipment 等。是的,“模型”是为了概括起见而编造的名称。
Model 不使用表,也没有任何表关联。它扩展了AppModel。它有一些我希望ModelOrder 和ModelLastShipment(以及其他Model... 类)继承的基本功能。问题是虽然ModelOrder 可以扩展(即class ModelOrder extends Model {...}),但由于缺少文件错误,我无法对以下内容执行相同操作。
model_last_shipment.php:
class ModelLastShipment extends Model {...}
这会返回错误,
Fatal error: Class 'Model' not found in C:\xampp\htdocs\my_app\app\models\model_last_shipment.php on line 3
在声明之前包含include_once('model.php') 解决了这个问题,但是为什么扩展对ModelOrder 有效而没有明确的inlcusion 而对ModelLastShipment 无效?
如果需要更多信息来解决此问题,请告诉我。有很多关于这种错误的文章和帖子,但我还没有弄清楚为什么我会收到一个错误而不是另一个错误。
【问题讨论】:
-
您应该始终扩展 AppModel,并确保已加载父类 - 在 1.3 中,我猜您需要 App::import()。
-
刚刚更新了帖子。
Model扩展了AppModel(当然!)。 -
不,反过来 :) 然后:
class ModelLastShipment extends AppModel。 -
但是我想扩展
Model所以ModelLastShipment继承了Model的一些属性。这些属性不适用于AppModel。
标签: cakephp cakephp-1.3