本文主要是介绍自动载入实战---构造一个PSR-0的简易框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PSR-0规范是什么
命名空间与绝对路径一致
类名首字母大写
除入口文件外,其他PHP文件必须只有一个类
建立目录结构
---App
------Controller
---------Home
------------Index.php
---All
------Object.php
------Loader.php
---index.php
上面是本框架的目录结构。
自动载入
\App\Controller\Home\Index.php源代码如下:
<?php
//命名空间与绝对路径一致
namespace Apps\Controller\Home;
Class Index{public static function test(){echo __METHOD__;}
}
\All\Object.php的源代码如下:
<?php
namespace All;
Class Object{public static function test(){echo __METHOD__;}
};
\All\Loader.php是一个自动加载类:
<?php
namespace All;
class Loader{public static function autoload($className){$className=str_replace("\\",'/',$className);//BASEDIR是在index.php中定义的require BASEDIR.'/'.$className.".php";}
}
index.php中的源代码如下:
<?php
define("BASEDIR",__DIR__);
//加载Loader.php文件
include BASEDIR.'/Imooc/Loader.php';
//使用此函数注册autoload
spl_autoload_register("\\Imooc\\Loader::autoload");
//会把Apps\Controller\Home\Index传入注册的autoload函数,从而自动加载Apps\Controller\Home\Index这个类
Apps\Controller\Home\Index::test();
Imooc\Object::test();
这篇关于自动载入实战---构造一个PSR-0的简易框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!