繁体   English   中英

找不到Zend_Db

[英]Zend_Db not found

use Zend\Db;

$db = Zend_Db::factory('Pdo_Mysql', array(
    'host'     => 'localhost',
    'username' => 'root',
    'password' => '',
    'dbname'   => 'test'
));

我试图通过关键字'use'要求Zend_Db,但是我得到一个错误,提示没有类Zend_Db,在这里我在做什么错?

如果使用的是ZF1,则该类为Zend_Db 在这种情况下,如果您确实要使用PHP 5.3名称空间,则正确的用法是:

use \Zend_Db;

$db = Zend_Db::factory('Pdo_Mysql', array(
    'host'     => 'localhost',
    'username' => 'root',
    'password' => '',
    'dbname'   => 'test'
));

如果使用ZF2,则相关组件是Zend\\Db ,但是创建适配器通常是使用在模块config中定义的工厂完成的。

而且,正如其他地方所指出的,弄清楚自动加载功能使工作变得更加轻松。

在文件开头添加此

   require_once 'Zend/Db.php';

Zend Framework 1.x早于PHP名称空间。 结果,ZF1对use关键字之类的东西并不真正友好。 如果您需要使用Zend Framework 1.x的组件,则可以使用随附的自动加载器组件更好地为您提供服务。

如果您将框架用作MVC应用程序,那么整个过程都没有什么用,我建议您花一些时间并了解默认配置的工作方式。 因为如果将ZF1用作MVC,则Zend_Db组件将已经在自动加载器上。

不要将下划线名称与斜杠混用

use Zend_Db as Db

$db = Db::factory('Pdo_Mysql', array(
    'host'     => 'localhost',
    'username' => 'root',
    'password' => '',
    'dbname'   => 'test'
));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM