use Zend\Db;
$db = Zend_Db::factory('Pdo_Mysql', array(
'host' => 'localhost',
'username' => 'root',
'password' => '',
'dbname' => 'test'
));
我试图通过关键字'use'来要求Zend_Db,但我得到一个错误,没有类Zend_Db,我在这里做错了什么?
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
,但通常使用模块配置中定义的工厂来创建适配器。
而且,正如其他地方所指出的,搞清楚自动加载会让生活变得更轻松。
在文件开头添加这个
require_once 'Zend/Db.php';
Zend Framework 1.x 比 PHP 命名空间早了一段时间。use
因此 ZF1 对关键字之类的东西并不友好。如果您需要使用 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'
));