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 3

1 ответ:

Что я делаю в основном, это использую функциюSPL autoload , которая поможет вам выполнить это довольно легко. Это должно быть что-то вроде:

spl_autoload_register("MyClass::Autoloader");

Тогда вы можете сделать что-то вроде этого

class MyClass
{
  public static function Autoloader($className)
  {
    //parse $className and decide where to load from...
  }
}

Если вы используете соглашение об именовании, то вы должны быть доступны для загрузки необходимого файла, просто используя имя.