Php Zend Framework-控制器中的查询

Php Zend Framework-控制器中的查询,php,zend-framework,Php,Zend Framework,我在“IndexController.php”中有以下代码: 。。。它仅用于从数据库检索所有项目对象并将其传递给视图。 但是,当我运行此代码时,会出现以下错误: Notice: Undefined variable: db in C:\wamp\www\PROJECTS_Zend\projectManager\application\controllers\IndexController.php on line 19 Fatal error: Call to a member function

我在“IndexController.php”中有以下代码:

。。。它仅用于从数据库检索所有项目对象并将其传递给视图。 但是,当我运行此代码时,会出现以下错误:

Notice: Undefined variable: db in C:\wamp\www\PROJECTS_Zend\projectManager\application\controllers\IndexController.php on line 19

Fatal error: Call to a member function quoteIdentifier() on a non-object in C:\wamp\www\PROJECTS_Zend\projectManager\library\Zend\library\Zend\Db\Statement.php on line 181

我不确定变量db是什么,或者它应该是什么,但是如果你有关于这方面的任何信息,如果你能启发我,我将不胜感激。

这样你就破坏了MVC的整个M(模型)概念

无论如何,$db是Zend_db的一个实例。我建议你读书

尽管这可能会导致糟糕的代码:

$db = new Zend_Db_Adapter_Pdo_Mysql(array(
    'host'     => '127.0.0.1',
    'username' => 'webuser',
    'password' => 'xxxxxxxx',
    'dbname'   => 'test'
));

这样你就破坏了MVC的整个M(模型)概念

无论如何,$db是Zend_db的一个实例。我建议你读书

尽管这可能会导致糟糕的代码:

$db = new Zend_Db_Adapter_Pdo_Mysql(array(
    'host'     => '127.0.0.1',
    'username' => 'webuser',
    'password' => 'xxxxxxxx',
    'dbname'   => 'test'
));

像Zend、Kohana和Codeigniter这样的MVC框架中的查询应该在“Model”类中完成

不是控制器类

模型类处理数据存储中的数据,如数据库或文件

您应该在Model类中执行此操作,因为它将扩展Zend_db类的所有功能

$db是一个变量,它保存连接到数据库的所有详细信息(主机名、用户名、密码、数据库名称)

您必须在代码的前面定义它

关于MVC还有一件事

  • 您应该拥有处理大量数据的胖模型
  • 您应该有管理所有流程的偏执狂控制器
  • 你应该有愚蠢的观点,它们不能做任何重要的事情

希望这有帮助:)

像Zend、Kohana和Codeigniter这样的MVC框架中的查询应该在“Model”类中完成

不是控制器类

模型类处理数据存储中的数据,如数据库或文件

您应该在Model类中执行此操作,因为它将扩展Zend_db类的所有功能

$db是一个变量,它保存连接到数据库的所有详细信息(主机名、用户名、密码、数据库名称)

您必须在代码的前面定义它

关于MVC还有一件事

  • 您应该拥有处理大量数据的胖模型
  • 您应该有管理所有流程的偏执狂控制器
  • 你应该有愚蠢的观点,它们不能做任何重要的事情

希望这有帮助:)

这不是模型的用途吗(我不知道答案)?你的意思是我应该把这些代码放到模型中吗?在zend中,我们有模型、视图和控制器。我们基本上使用模型来处理与数据库相关的事情。我也不建议在控制器中编写sql语句。在这种情况下,可以使用一些类。它将使您的代码变得完美。无论如何,为了回答你的问题,你能把你用来初始化
$db
对象的代码放进去吗?这不是模型的目的吗(我不知道答案)?你的意思是我应该把这个代码放进模型吗?在zend中,我们有模型、视图和控制器。我们基本上使用模型来处理与数据库相关的事情。我也不建议在控制器中编写sql语句。在这种情况下,可以使用一些类。它将使您的代码变得完美。无论如何,为了回答你的问题,你能把用来初始化
$db
对象的代码放在模型中吗?我想你不明白:它应该在模型中,而不是在你的控制器中。好吧,那么我要把这个$db代码放在模型类的顶部吗?谢谢你把这个放在你的模型类中:)我想你不明白:它应该放在模型中,而不是你的控制器中。那么我应该把这个$db代码放在我的模型类的顶部吗?谢谢将此“放在”模型类中:)