簡體   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