我在我的 Linux 机器上的 Kohana 2.3.4 中遇到 Class not found 错误,但在 Windows 上一切正常。
我的 Windows 机器:
- PHP 版本 5.2.9
- Windows 7 终极版
我的 Linux 机器:
- PHP 版本 5.3.2-1ubuntu4.15
- Ubuntu 10.04
我收到此错误:
Fatal error: Class 'calafate_orm' not found in /home/jay/workspace/Facebook_App/application/helpers/user.php on line 514
这就是我所说的模型:
//controllers/user.php
class User_Core{
...
$fbuser = calafate_orm::factory('fbuser')->where('fbid', $user['id'])->find();
...
}
相同的代码在 Windows 上运行良好。
calafate_orm 是这样的:
//libraries/calafate_orm.php
<?php
abstract class calafate_orm_core extends ORM{
protected $db = 'calafate';
protected $table_names_plural = false;
public function save(){
$field = ($this->id)?'modification_date':'creation_date';
$this->$field = date('Y-m-d H:i:s');
parent::save();
}
}
?>
我所有的文件名都是小写的。
会发生什么?
提前致谢
固定的
库类名和文件名以大写字母开头。
将库重命名为 Calafate_orm 并像这样编辑类声明:
<?php
abstract class Calafate_orm_core extends ORM{
...
}?>
就是这样。
感谢 hakre 为我指明了正确的方向。