本文实例讲述了PHP类的自动加载与命名空间用法。分享给大家供大家参考,具体如下:
作为一名合格的程序员,必定会有一个从面向过程编程到面向对象编程的转化过程,在这个过程中诸如命名空间,类,继承,接口,类自动加载等等都是需要我们去掌握的,之前对这些概念都不是很熟悉,只是能够基础地使用,在这里系统的记录一下关于命名空间与类的自动加载知识。
类的自动加载
什么是自动加载类?
"htmlcode">
void __autoload ( string $class )
class即为待加载的类名。php官方手册也有比较好的例子,这里引用一下:
./myClass.php
<"myClass init'ed successfuly!!!"; } } "htmlcode"><"./". $classname .".php"; include_once($filename); } // 实例化一个类 $obj = new myClass(); "在这一行,我们的"./myClass.php"会被包含进来,这个神奇效果正是我们想要的 你将会得到"myClass init'ed successfuly!!!"的返回结果.所以,如果你调用了一个类似于"myClass"的类,文件将会包含"myClass.php",前提是该文件存在(如果不存在你将会得到一个引用错误),如果你调用了"Foo","Foo.php"会被引用,诸如此类...
你在也不需要像下面这样写了。"
<"./myClass.php"); include_once("./myFoo.php"); include_once("./myBar.php"); $obj = new myClass(); $foo = new Foo(); $bar = new Bar(); "htmlcode"><"app\Test\Beta\index"; } }test/app/Test/Test.php
<"app\Test\Test\index"; } }//新建自动加载类
test/app/autoload/Loading.php<"htmlcode">define('DIR', dirname(__FILE__));// /.../test //引入自动加载文件 require DIR . "/autoload/Loading.php"; //自动注册 //这里就是为什么前面写成静态方法的原因 spl_autoload_register("\\autoload\\Loading::autoLoad"); //然后在下面就可以直接调用类了,只要在前面加上命名空间 $beta = new app\Test\Beta(); $beta->index();//输出 app\Test\Beta\index echo "\r\n"; $test = new app\Test\Test(); $test->index(); //输出 app\Test\Test\index命名空间
看到这里相信你应该已经对命名空间有了一个大致的了解,起码知道怎么用。
什么是命名空间?
从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目录分隔符放在文件名之前得到 /home/greg/foo.txt。这个原理应用到程序设计领域就是命名空间的概念。
所以你可以将他理解为:文件夹。。。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
富贵资源网 Design By www.hznty.com
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?