所以我正在处理一个示例数据库项目。我有一个LoginController.php、一个Faculty数据库和一个登录页面(phtml)。
我收到错误致命错误:在第25行的/usr/local/zend/apache2/htdocs/InternetProject1/application/controllers/LoginColler.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
位于应用程序/型号/目录中
我在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;
假设您的应用程序命名空间是Application
,请尝试:
- 把你的教员DB课放在
application/models/Faculty.php
- 将其命名为
Application_Model_Faculty
- 从
Application_Model_DbTable_Faculty
扩展 - 将DbTable类放入
application/models/DbTable/Faculty.php
由于您使用的是Zend_Application
,它将负责为您设置自动加载器和特殊前缀,如Form_
、Model_
、Plugin_
等,因此您可以安全地从引导程序中删除_initAutoload
和_initResourceAutoloader
。