我在PHP中遇到了__autoload函数,并希望将它与我的MVC文件夹结构一起使用.功能本身很简单,但是如何在某种命名之后实现动态文件夹扫描,请参阅示例:
-application
--controller
--models
---entities
----house
---factories
----houseFactory
--views
-library
-public
Run Code Online (Sandbox Code Playgroud)
正如您可能认识到它非常接近基于zend框架或其他框架 - 我来自那些,但是我想开发一个没有框架的网站,并且刚开始编写bootsrap文件.
也许sombody可以帮助我自动加载 - 我认为 - 高级用法.
我的类名将类似于Model_Entities_House或Model_Factory_HouseFactory
女巫可以应用于文件夹结构.
我主要做的是使用SPL自动加载功能,这将帮助您轻松完成此任务.它应该是这样的:
spl_autoload_register("MyClass::Autoloader");
Run Code Online (Sandbox Code Playgroud)
然后,你可以做这样的事情
class MyClass
{
public static function Autoloader($className)
{
//parse $className and decide where to load from...
}
}
Run Code Online (Sandbox Code Playgroud)
如果您使用命名约定,那么您应该只使用名称加载所需的文件.