PHP autoload MVC
Я наткнулся на функцию __autoload в PHP и хотел бы использовать ее с моей структурой папок MVC. Функция itsself довольно проста, но как добиться динамического сканирования папок после некоторого вида именования, смотрите пример:
-application
--controller
--models
---entities
----house
---factories
----houseFactory
--views
-library
-public
Как вы, возможно, узнаете его очень близко на основе Zend framework или других фреймворков -поскольку я родом из них, однако я хотел бы разработать веб-сайт без фреймворка и только начал писать bootsrap файл.
Может быть, сомбоди смог бы помогите мне с автопогрузкой в этом - я думаю-продвинутом использовании.
Мои классные имена будут такими: Model_Entities_House или Model_Factory_HouseFactory
Witch можно применить к структуре папок.
1 ответ:
Что я делаю в основном, это использую функциюSPL autoload , которая поможет вам выполнить это довольно легко. Это должно быть что-то вроде:
spl_autoload_register("MyClass::Autoloader");
Тогда вы можете сделать что-то вроде этого
class MyClass { public static function Autoloader($className) { //parse $className and decide where to load from... } }
Если вы используете соглашение об именовании, то вы должны быть доступны для загрузки необходимого файла, просто используя имя.