所以我知道Kohana 3.3中PSR-0标准的实现。但是,必须有一些我不理解的东西,因为我得到以下代码的类找不到错误:
$model = Model::factory('MyModel');
模型定义位于:
classes/Model/MyModel.php
我的班级到底是怎么找不到的?
实际代码:
位于classes/Model/VoiceTalent.php
的模型
<?php defined('SYSPATH') or die('No direct script access.');
class VoiceTalent
{
//methods and fields
}
控制器代码:
$talent = Model::factory('VoiceTalent');
确切的错误消息:
ErrorException [ Fatal Error ]: Class 'Model_VoiceTalent' not found
SYSPATH\classes\Kohana\Model.php [ 26 ]
答案 0 :(得分:4)
你的班级命名很差。
你有:
class VoiceTalent
应该是:
class Model_VoiceTalent
因为你必须在类名中包含它所包含的所有文件夹(由_
分隔)。在这种情况下,您只需添加Model_
前缀。您可以阅读有关class naming convention in Kohana's docs的更多信息。