PHP автозагрузка MVC - PullRequest
       4

PHP автозагрузка MVC

3 голосов
/ 22 января 2011

Я натолкнулся на функцию __autoload в PHP и хотел бы использовать ее с моей структурой папок MVC. Сама функция довольно проста, но как мне добиться динамического сканирования папок после какого-то наименования, смотрите пример:

-application
--controller
--models
---entities
----house
---factories
----houseFactory
--views
-library
-public

Как вы, возможно, знаете, это очень близко, на основе Zend Framework или других платформ - поскольку я из них, однако я хотел бы разработать сайт без фреймворка и только начал писать файл начальной загрузки.

Может быть, кто-нибудь может помочь мне с автозагрузкой в ​​этом - я думаю - расширенном использовании.

Мои имена классов будут похожи Model_Entities_House или же Model_Factory_HouseFactory

Ведьма может быть применена к структуре папок.

1 Ответ

5 голосов
/ 22 января 2011

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

spl_autoload_register("MyClass::Autoloader");

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

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

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

...