Всем привет.
Хочу разобраться с тем как правильнее писать неймспейсы, в psr-4 сказано что пространство должно начинаться с имени производителя.
Я пишу шаблонизатор для себя, но думаю его потом выложить в общий доступ, мало ли мож пригодится.
Сейчас у меня используются абсолютные пространства имён, то есть от корня сайта.
Например library/arh/Tpl; - файл library/arh/Tpl.php
А по стандарту нужно писать arh/Tpl;
Ну ладно, могу писать так, поправлю автозагрузчик, добавив "library" в инклюд.
Но как быть с остальными классами, которые по идее могут лежать где угодно?
Например: module/news/library/News.php
Какое у этого класса должно быть пространство имён?
Допустим этот модуль разработал Вася, ему писать:
vasya/module/news/news
или vasya/arh/module/news/news
или просто module/news/news но тогда не psr-4
или vasya/news/News и надеяться что у Васи не будет других проектов с именем news
А теперь начинаются костыли, потому что пространство не соответствует физическому пути к файлу, придётся писать какой то конфиг, в котором надо будет указывать что vasya/news/News это на самом деле module/news/library/News.php, что бы автозагрузчик подключил именно этот файл,
придумывать какие то механизмы рефлексии что бы не править постоянно днём и ночью эти настройки в ручном режиме.
Я правильно понимаю схему?
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2