所以我正在研究一个示例数据库项目。 我有一个LoginController.php,一个Faculty数据库和一个登录页面(phtml)。
我收到错误致命错误:第25行的/usr/local/zend/apache2/htdocs/InternProject1/application/controllers/LoginController.php中找不到类'Faculty_DB'
在LoginController.php中,我有以下内容(以及更多内容):
public function indexAction()
{
$login = new Form_Login();
//$this->view->login = $login;
$request = $this->getRequest();
if($request->isPost())
{
$data = $request->getPost();
//$this->isValid(
if($this->getRequest()->getPost())
{
$username = $request->getParam('username');
$password = $request->getParam('password');
// echo " What you entered is: $username and $password";
//line 24
$faculty = new Faculty_DB();
//then conditions for validation.
这引用
class Faculty_DB extends Zend_Db_Table_Abstract
位于application / models /目录
我在Bootstrap.php中有以下内容
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoload()
{
$autoLoader = Zend_Loader_Autoloader::getInstance();
$autoLoader->registerNamespace(array('App_'));
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,
'namespace' => '',
'resourceTypes' =>
array('form'=>
array('path' => 'forms/',
'namespace' => 'Form_'
),
),
));
return $autoLoader;
}
}
有关如何解决此问题的任何线索? 我尝试了以下方法:
protected function _initResourceAutoloader()
{
$autoloader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,
'namespace' => 'Application',
));
$autoloader->addResourceType( 'model', 'models', 'Model');
return $autoloader;
}
但是当我这样做时,它告诉我它找不到我的Login_Form;
答案 0 :(得分:3)
鉴于您的应用程序命名空间为Application
,请尝试:
application/models/Faculty.php
Application_Model_Faculty
Application_Model_DbTable_Faculty
application/models/DbTable/Faculty.php
由于您使用的是Zend_Application
,因此会为您设置自动加载器和特殊前缀,例如Form_
,Model_
,Plugin_
等,这样您就可以安全地从您的Bootstrap中删除_initAutoload
和_initResourceAutoloader
。