-
Notifications
You must be signed in to change notification settings - Fork 52
Обновление Autoloader'а #124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
и нормально берется константа из интерфейса? не знал ....
Добавил коммит по комментариям выше. |
Ну что же устраивают всех эти изменения или есть еще какие-то корректировки? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Хоть оно в coding style и не вынесено, но по остальному коду перенос в цепочке вызовов оформляется по другому
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ближе к вечеру поправлю
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Готово
в п. 2, который "Взамен этому каждому автолоадеру можно засетить набор директорий в которых нужно искать классы." |
|
meta/bin/build.php
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
coding style
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix
а каким образом это можно вмерждить себе локально чтобы "пощупать" ? |
|
ну да, вариант ) спасибо. |
ну в общем sh test/runme.sh php -v Похоже из-за того что в AutoloaderRecachable::autoload() добавляется параметр, которого нет в родителе |
В интерфейсе
А в интерфейсе
5.4 видно считает что все впорядке вещей, а 5.3 с таким обращением с интерфейсами не согласен. надо будет значит по другому как-то переписать |
вот и я про то же. ждем. |
Фикс прибыл, пробуйте. |
c 5.3 заработало. На дальнейшее тестирование пока не было времени ( |
Для PSR0 добавил возможность работы с классами, содержащими подчеркивание в имени. Дополнил тесты, сделал небольшой рефакторинг вынеся сканирование папок для последующего кэширования в отдельные классы. |
New Autoloader which work without include_paths and with optional namespace support
Взялся немножко исправить автолоадер и в итоге захотел переписать больше чем изначально планировал.
Список изменений примерно таков:
(get|set)_include_path
. Вместо этого каждому автолоадеру сетиться набор директорий в которых нужно искать классы.AutoloaderClassNotFound::me()->register();
Это перенесет его вызов AutoloaderClassNotFound в самый конец стэка spl_autoloader'ов..class.php
вместо.php
, но его можно переназначать на любой желаемый.AutoloaderPool::get('onPHP')
Что ломается/нужно переделывать в своих проектах:
set_include_path
конструкцию наAutoloaderPool::get('onPHP')->addPaths(array(..., ...));
либо на использование своего автолоадера.