在zf2中使用Zend\Loader\StandardAutoloader,可以实现对于各种类的自动加载,官方给出的例子如下:
init_autoloader.php文件中
if ($zf2Path) {
if (isset($loader)) {
$loader->add('Zend', $zf2Path);
} else {
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';
Zend\Loader\AutoloaderFactory::factory(array(
'Zend\Loader\StandardAutoloader' => array(
'autoregister_zf' => true,//zend=>zf2的类库
'namespaces' => array(
'vendor' => __DIR__ . '/vendor',
),
'prefixes' => array(
'Zend_' => 'D:\\Program Files\\Zend\\ZendServer\\share\\ZendFramework\\library\\Zend'
)
)
));
}
}
在上边的代码片段中,通过
'autoregister_zf' => true,
'namespaces' => array(
'vendor' => __DIR__ . '/vendor',
),
'prefixes' => array(
'Zend_' => 'D:\\Program Files\\Zend\\ZendServer\\share\\ZendFramework\\library\\Zend'
)
关联数组项的设置,可以实现对于zf2的类库、vendor中自定义类及zf1中的类的自动加载了。
注意:
在zf2的控制器中要实现对于zf1的类的加载,其代码方式如下:
$session = new \Zend_Session_Namespace('qjh');
$session->qjh = 5;