Несколько глупых вопросов по автозагрузке )
Primary tabs
Изучая вот этот материал http://fkn.ktu10.com/?q=node/9437 столкнулся с некоторыми непонятными для меня моментами.
1. Вот такое именование классов
ItForFree\PhpExamples\MyProject\MyClass
имеет место именно при автозагрузке? То есть, если мы знаем, что в нашем приложении будет реализована автозагрузка классов, то в скрипте, где они описываются, будет примерно такая запись:
class ItForFree\PhpExamples\MyProject\MyClass{...}
?
2. Можно ли чуть подробнее объяснить, как именно интерпретатор php производит поиск класса в директориях? Конкретно интересует как он определяет тот самый префикс (где в имени класса он начинается а где заканчивается) если, насколько я понял, явно он нигде не объявляется и даже требований к именованию базовой директории никаких нет. Интуитивно я догадываюсь, что тут, скорее всего, поиск происходит по частям имени класса, разделенным по слешу, но все-таки хотелось бы прояснить для себя этот момент.
3. Наверное, совсем уже глупый вопрос ) Возможно я призабыл эту тему, но какое отношение к автозагрузке вообще имеют пространства имен? Я так понимаю, здесь в роли протранств и подпространств имён выступают просто разные директории в которых размещены классы?
- Log in to post comments
- 3876 reads
vedro-compota
Sat, 11/17/2018 - 18:37
Permalink
именование класса и автозагрузка
Нет. Пространства имен и автозагрузка сами по себе в php не связаны (читайте подробнее).
_____________
матфак вгу и остальная классика =)
vedro-compota
Sat, 11/24/2018 - 00:26
Permalink
автозагрузка и пространства имен -- какая связь
Об этом непосредственно вот эта заметка (создана как ответ на данный вопрос).
_____________
матфак вгу и остальная классика =)
vedro-compota
Sun, 11/25/2018 - 22:40
Permalink
префиксы и правила поиска
Префикс объявляется или в коде или иным способом, но всегда явно, подробнее о этом: http://fkn.ktu10.com/?q=node/10571
во-первых, гляньте предыдущую ссылку, по вторых psr4 недвусмысленно требует, чтобы слеш (" разделител") соответствовал разделителю директорий:
_____________
матфак вгу и остальная классика =)