как вы реализуете автозагрузку классов?

Статус
В этой теме нельзя размещать новые ответы.

dimitrius

Новичок
как вы реализуете автозагрузку классов? в имени класса путь прописывать не хочется ооочень! все классы используют верблюжий синтаксис SomeClass
 

zerkms

TDD infected
Команда форума
Если не хочется составлять имена таким образом, чтобы расположение файла было очевидно по имени - то где-то придётся хранить массив с соответствием "имя класса -> путь"

Третьего не дано

ps: это не теория
 

С.

Продвинутый новичок
Третье дано в форме выхода из позы крутого ООПиста, отказа от расплода моря ненужных классов и хранения всех их в одном месте.
 

A1x

Новичок
использовать неймспейсы - имя класса будет передаваться в автолоадер вместе с неймспейсом, из которого можно получить путь к файлу
 

zerkms

TDD infected
Команда форума
Хотелось бы добавить, что качественно это проблему никак не решает
 

dimitrius

Новичок
с неймспейсами еще больше работы чем с инклюдом,
спасибо за ответы, пока не много написано - переделаю название классов - лучшего пока не нашел.
 

dimitrius

Новичок
Третье дано в форме выхода из позы крутого ООПиста, отказа от расплода моря ненужных классов и хранения всех их в одном месте.
ага и грузить 10 000,00 строк и потом неделю искать, чтоб изменить одну переменную
 

Hamster

Новичок
Простите, а не могли бы ткнуть носом, где можно почитать про неймспейсы - слоган мне такой не знаком
 

A1x

Новичок
где можно почитать про неймспейсы
в мануале, где ж еще
с неймспейсами еще больше работы чем с инклюдом,
один раз написать use в начале скрипта
качественно это проблему никак не решает
а что было бы качественным решением? Все равно информацию о пути надо откуда-то брать, разница только в способе
 

zerkms

TDD infected
Команда форума
а что было бы качественным решением? Все равно информацию о пути надо откуда-то брать, разница только в способе
Вот именно. Поэтому я и сказал, что варианта два - или хранить путь в имени, или составить карту.

Просто твой коммент я почему-то посчитал противопоставлением моему ответу, потому и сказал, что качественно он ничего другого не предлагает
 

dimitrius

Новичок
в мануале, где ж еще

один раз написать use в начале скрипта

а что было бы качественным решением? Все равно информацию о пути надо откуда-то брать, разница только в способе
один раз написать инклюд - в чем разница?
 

zerkms

TDD infected
Команда форума
A1x
Вопрос был о способе адресации файла. Какая разница, загружает use что-то или нет - всё равно в имени нейсмпейса + класса придётся поддерживать структуру аналогичную фс, потому что именно это не очень нравится тредстартеру.
 

A1x

Новичок
zerkms
разница в том что use позволяет декларировать класс не загружая его без необходимости

после того как класс продекларирован к нему можно обращаться по короткому имени, которое уже не содержит информации о пути к файлу
 

dimitrius

Новичок
zerkms
разница в том что use позволяет декларировать класс не загружая его без необходимости

после того как класс продекларирован к нему можно обращаться по короткому имени, которое уже не содержит информации о пути к файлу
Тоесть, если нет необходимости, то подгрузка файла не осуществляется? при юз, в момент выполнения этот принцып работает или только при предзагрузке?
 

A1x

Новичок
фактическую загрузку файла выполняет автолоадер непосредственно при использовании имени класса
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху