how do i auto load zend framework classes when i am not using the MVC framework?


Zend 框架的优点在于它非常模块化,您可以使用您想要的任何部分,而无需采用整个框架。

例如,我们可以使用Zend_Loader_Autoloader来设置类自动加载,而不必使用Zend_Application

首先确保 Zend 库位于您的包含路径中:

set_include_path('/path/to/zend/' . PATH_SEPARATOR . get_include_path());

然后需要 Autoloader 类:

require_once 'Zend/Loader/Autoloader.php';

然后我们设置自动加载器:

// instantiate the loader
$loader = Zend_Loader_Autoloader::getInstance();

// specify class namespaces you want to be auto-loaded.
// 'Zend_' and 'ZendX_' are included by default
$loader->registerNamespace('My_App_');

// optional argument if you want the auto-loader to load ALL namespaces
$loader->setFallbackAutoloader(true);

一旦设置了自动加载器(最好是在引导程序或其他东西中),您就可以调用 Zend 框架类(或您自己的应用程序的类),而不必单独要求它们:

$foo = new Zend_Library_Class();
$bar = new My_App_Class();

在文档中阅读更多相关信息



什么 abt 加载 zend 框架类?目前,我还不打算加载我自己的类

默认情况下,自动加载器将加载 Zend 类。如果 Zend 库位于您的包含路径中,您可以通过要求它来加载任何类:“require_once('Zend/Class/Path'.php')。但是使用自动加载器,您甚至不需要这样做。如果自动加载器工作正常,您应该能够毫无问题地引用 Zend 类: 您可以单独使用自动加载器,不需要为其加载其他 Zend 类上班。

换句话说,我只需要 $loader = Zend_Loader_Autoloader::getInstance(); 正确的?

Zend 框架有一个内置的自动加载器供提问者使用。