Ответ 1
Зависит от цели вашей библиотеки
Случай 1, , используемый многими модулями:
Поместите его в папку поставщика, убедитесь, что он совместим с PSR-0, что упрощает автозагрузку.
Случай 2, , используемый только одним модулем:
Поместите его под modules/your_module/src
и отредактируйте метод Module.php
getAutoloaderConfig()
, чтобы он был автоматически загружен.
....
class Module {
....
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php', // classmap for production usage
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, // your module files autoloading (development usage and fallback)
'library_namespace' => __DIR__ . '/src/librarys_namespace/potential_subfolder', // your library files autoloading (development usage and fallback). eg: 'acme' => '/src/acme/library' for acme namespace
),
),
);
}
....
Случай 3, ваша библиотека - сторонний модуль:
Поместите его в папку поставщика, см. ZfcUser
Я думаю, что ваш случай использования больше всего понравится случаю 1, ваша библиотека изменяет поведение, например. Zend\Mvc\Controller\AbstractActionController
или дополнительные плагины.
Но, если плагин используется только одним модулем, вам лучше разместить его параллельно вашему модулю, как описано в примере 2.