2011-01-22 70 views
3

我遇到了PHP中的__autoload函数,并希望将它用于我的MVC文件夹结构。该功能itsself是很容易的,但如何实现某种命名之后的动态文件夹扫描,请看例子:PHP自动加载MVC

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

正如你也许认识到它非常接近基于Zend框架或其他框架-as我来自那些,但是我想开发一个没有框架的网站,并开始写靴子文件。

也许sombody可以帮助我在这个自动加载 - 我想 - 先进的用法。

我的类名会像 Model_Entities_House 或 Model_Factory_HouseFactory

女巫可以应用到文件夹结构。

+0

您是否考虑过循环遍历所有文件夹以检查文件是否存在,而不是解析字符串以查找路径? – dqhendricks 2011-01-22 01:54:24

回答

4

我最主要的是使用SPL autoload function,这将帮助您轻松完成此操作。它应该是这样的:

spl_autoload_register("MyClass::Autoloader"); 

然后,你可以做这样的事情

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

如果you're使用命名约定,那么你就应该可以通过只加载所需的文件使用名称。

+0

+1使用spl_autoload_register – philwinkle 2011-02-11 05:36:48