Как уже упоминалось, вам нужно зарегистрировать пустое пространство имен в автозагрузчике.Для этого вам нужно будет использовать Zend_Loader_Autoloader_Resource
.Вы должны добавить это в приложение Bootstrap
.Примечание: большая часть этого уже упоминалась @ user854029, но забыл пространство имен Form_Element_
.
protected _initAutoload()
{
// the __construct of this class registers this resource with Zend_Loader_Autoloader
new Zend_Loader_Autoloader_Resource(array(
// This base path prepends paths defined in the resourceTypes below
'basePath' => APPLICATION_PATH,
'namespace' => '',
'resourceTypes' => array(
'form' => array(
'path' => 'forms/',
'namespace' => 'Form_'
),
// the key 'element' is an arbitrary name I used, it's not special
'element' => array(
// Now we set the path we need to append to basePath set above
'path' => 'forms/elements',
// And now we have to declare the namespace
'namespace' => 'Form_Element_'
),
'model' => array(
'path' => 'models/',
'namespace' => 'Model_'
)
/** You can add the rest here as need **/
)
));
// Note: you don't have to return anything
}
Кроме того, рассмотрите возможность перемещения пользовательского класса в каталог library
вашего приложения.
EDIT
protected _initAutoload()
{
//Removed Autoloader_Resoure and Replaced with Module_Autoloader
new Zend_Application_Module_Autoloader(array(
'basePath' => APPLICATION_PATH,
'namespace' => '',
'resourceTypes' => array(
'element' => array(
'path' => 'forms/elements', // This is custom
'namespace' => 'Form_Element'
)
)
));
}