使用ZendFramework构建应用程序

时间:2012-06-10 13:07:47

标签: zend-framework

我是ZendFramework的新手。我正在使用windowsXP和xampp。我正在使用ZendFramework构建一个小应用程序。但是我得到了以下错误。

Fatal error: Uncaught exception 'Zend_Db_Table_Exception' with message 'No adapter found for Users' in E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php:755
Stack trace:
#0 E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php(739): Zend_Db_Table_Abstract->_setupDatabaseAdapter()
#1 E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php(268): Zend_Db_Table_Abstract->_setup()
#2 E:\xampp\php\ZendFramework\library\Zend\Db\Table.php(77): Zend_Db_Table_Abstract->__construct(Array)
#3 E:\xampp\htdocs\testproject\application\controllers\IndexController.php(7): Zend_Db_Table->__construct()
#4 E:\xampp\php\ZendFramework\library\Zend\Controller\Action.php(516): IndexController->indexAction()
#5 E:\xampp\php\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(295): Zend_Controller_Action->dispatch('indexAction')
#6 E:\xampp\php\ZendFramework\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_ in E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php on line 755

谁能说出解决方案是什么?

由于

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

这些是application.ini文件的内容。

<?php

class IndexController extends Zend_Controller_Action
{
   public function indexAction()
   {
       $users = new Users();
       $data = $users->fetchAll($users->select());
       $this->view->data = $data;
   }
}

?>

这些是IndexController.php文件的内容

@RockyFord

你的意思是application.ini文件应该在下面吗?

    [production]
    phpSettings.display_startup_errors = 0
    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 0

    resources.db.adapter = "pdo_Mysql" //PDO is best option, other adapters are available.
    resources.db.params.username = "your_username"
    resources.db.params.password = "your_password"
    resources.db.params.dbname = "your_database_name"
    resources.db.isDefaultTableAdapter = true //this line is optional but recommended.


    [staging : production]

    [testing : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1

    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.frontController.params.displayExceptions = 1

1 个答案:

答案 0 :(得分:2)

假设您正在使用mysql将这些行添加到生产部分的application.ini中。

resources.db.adapter = "pdo_Mysql" //PDO is best option, other adapters are available.
resources.db.params.username = "your_username"
resources.db.params.password = "your_password"
resources.db.params.dbname = "your_database_name"
resources.db.isDefaultTableAdapter = true //this line is optional but recommended.