在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;