Автозагрузка классов (при вызове его метода) из любой директории сайта.
Запись от Gcom размещена 07.09.2016 в 05:19
Показов 2161
Комментарии 1
Метки class, php, автозагрузка
Что бы решить данную проблему с путями, добавляем класс IncludePath (лучше в index.php):
myFunction() класса MyClass мы просто напишем:
myclass.php с классом MyClass:
| |||||||||||||||
Метки class, php, автозагрузка
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
-
Мне кажется, что это бредовая идея извлекать путь до файла класса из его названия, поясню: а если нужно переместить класс? ну можно ручками поправить пути, вариант, если это действие с одним классом, а если их больше одного, в общем возни только прибавиться. Спросите зачем перемещать классы? да допустим просто изменилась архитектура проекта (появились новые папочки и файлы, какие то файлы и папочки переместились в другую) с моим подходом ты просто их скопировал в нужную папочку и все, голова не о чем не болит больше.
Ну это только начало такого подхода, допустим попадется такая ситуация: Что подключится, если у меня два файла с одинаковым именем в разных директориях? Например, файл config.php?
Выход очевиден: А зачем нам два файла config.php? Типа у нас будет два класса Сonfig и еще раз Сonfig, где логика? Можно проще Сonfig_main и Сonfig_DB и проблема с названиями и путями решена. Просто нужно давать нормальные имена классам, при желании можно указывать префикс перед именем (например gcom_Сonfig_main и gcom_Сonfig_DB) тут сразу видно что повторов не будет, даже если мы захотим использовать сторонние библиотеки, пусть даже тот же Сonfig, ну опять же нужно указывать чего этот конфиг, типа название класса будет иметь маску: <Чей класс (производитель)>_<Название класса>_<Наименование модуля, где используется данный класс> тогда и путаницы не какой не будет, и плюс ко всему перемещение Библиотек (Модулей) будут происходить в пару кликов.Запись от Gcom размещена 08.09.2016 в 07:30


