[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: namespaces в Zend2
NuzhserS
Читаю книгу по Зенде и возник вопрос. Книга пишет что пространство имен обьявляеться через use or namespace и соответствует точной структуре папок где лежит файл. Вот смотрю на например на файл Adapter.php. У него путь такой /var/www/CommunicationApp/vendor/zendframework/zend-db/src/Adapter/Adapter.php.
А в файле модуля прописано его использование вот так
use Zend\Db\Adapter\Adapter;
Здесь нет точного совпадения путей и как тогда зенд находит етот файл?
inpost
php.net , попробуй сделать самостоятельно подключение namespace. Научишься делать и поймёшь, что всё будет так, как ты захочешь.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
kaww
Цитата (NuzhserS @ 31.10.2015 - 15:45)
Здесь нет точного совпадения путей и как тогда зенд находит етот файл?

Это потому что ты его установил composer'ом, который ставит каждый пакет по отдельности. Если скачать архив с сайта, то там будет "правильная" структура. У composera есть свой загрузчик, который подключает нужные файлы. Конкретно пространства имен zf2 описаны в файле composer/autoload_psr4.php. Кстати, psr-4 http://www.php-fig.org/psr/psr-4/ru/
NuzhserS
kaww именно композером, действительно тот загрузчик имеет индекси типа 'Zend\\Db\\' => array($vendorDir . '/zendframework/zend-db/src'),
тогда не сказиваеться ли ето на бистродействии и как ставить без композера нужно ли прописивать что-то?
kaww
NuzhserS, Никогда не доводилось ставить без композера. В этом случае можно, например, использовать какой-нибудь загрузчик из пакета Zend\Loader (StandardAutoloader или ClassMapAutoloader) или написать свой.
Для ClassMapAutoloader придется составить карту классов, что может отрицательно сказаться на потребляемой памяти. Cо StandardAutoloader должно быть что-то типа
\Zend\Loader\AutoloaderFactory::factory([
\
Zend\Loader\StandardAutoloader:class => [
\
Zend\Loader\StandardAutoloader::AUTOREGISTER_ZF => true
]
]);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.