php设计模式--命名空间与自动载入
2021-07-10 10:06
标签:clu dir 面向 命名 log 规划 ati test 越来越大 关于命名空间: 最早的php是没有命名空间的概念的,这样不能存在相同名称的类或者函数,当项目变大了之后,产生冲突的可能性就高了,代码量也会变大,为了规划,从php5.3开始对命名空间就支持了。 说明代码: 将test1.php ,test2.php引入到test.php中: 如果不使用命名空间,显而易见php会报函数名重复致命错误,如果使用命令空间结果如下: 关于自动载入: 之前的php都是通过include或者require来引入php的,当项目越来越大的时候,如果一个php文件需要引入几十个php类的时候,那就会引入几十行,这样对管理代码和开发来说是很不方便的。在php5.2之后就提供了类的自动载入功能。 在php5.2中提供了__autoload 方法来引入,但是当多个php文件同时使用此方法时会有函数名重复的可能,在php5.3中这个函数被废弃了,系统提供了一个spl_auto_register()的方法。当换成spl_auto_register自动载入类之后,可避免冲突。 结果如下: * 当php执行过程中发现你使用的类并不存在,这时候,php会把那个类名(Test3)告诉自动载入函数(autoload),然后我们只需要引入相关类就可以了。 总结:命名空间和自动载入对我们写好面向对象开发是很重要的。 php设计模式--命名空间与自动载入 标签:clu dir 面向 命名 log 规划 ati test 越来越大 原文地址:http://www.cnblogs.com/phpworld/p/7090699.htmltest1.php
";
}
test2.php
";
}
test.php
test1
test2
Test3.php
class Test3
{
static function test()
{
echo "test3-class
";
}
}
Test4.php
";
}
}
test3-class
test4-class