Я использовал следующий метод в Bootstrap.ini для автозагрузки пользовательских классов, хранящихся в папке в корне моего приложения (настроенных в соответствии с вашими потребностями):
protected function _initNamespaces()
{
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,
'namespace' => '',
'resourceTypes' => array(
'grid' => array(
'path' => 'grids/',
'namespace' => 'Grid',
),
'example' => array(
'path' => 'example_folder/',
'namespace => 'Example'
)
));
}
Оставив пустым пространство имен, вы можете опустить App_
в начале имен ваших классов. Я делаю это отдельно, я использую App_
в папке «Библиотека» для пользовательских классов и плагинов. Несколько пространств имен могут быть загружены с использованием вышеуказанного метода, вы просто добавляете дополнительные массивы к аргументу resourcesType
.
Структура приложения выглядит следующим образом:
|Project
|-Application
|-grids
|-Test.php
|-configs
|-controllers
|-models
|-views
|-Bootstrap.php
|-Docs
|-Library
|-Public
|-.zfproject.xml
Test.php будет выглядеть так:
<?php
class Grid_Test
{
/**
* Return sum of two variables
*
* @param int $x
* @param int $y
* @return array
*/
public function add($x, $y)
{
return $x + $y;
}
}