PHP设计模式-命名空间
4343阅读
0评论
0点赞
早起PHP是没有命名空间的,随着工程项目越来越大,代码文件越来越多,组件化引入文件时代码容易冲突,于是PHP5.3开始加入命名空间。
无命名空间例子:
test1.php文件代码
这时执行demo.php 将会报错。
test2.php文件代码
demo.php
PHP Fatal error: Cannot redeclare test() (previously declared in D:\wwwroot\dev\public\test\test1.php:5) in D:\wwwroot\dev\public\test\test2.php on line 5
Fatal error: Cannot redeclare test() (previously declared in D:\wwwroot\dev\public\test\test1.php:5) in D:\wwwroot\dev\public\test\test2.php on line 5
命名空间的声明
namespace 名称PHP规定命名空间必须写在代码之前,例子如下
test1.php文件代码
这个时候同时引用就不会出现错误了。
当然,如果你只是test1.php增加了命名空间,你会发现在demo.php中调用test()的时候是调用的test2的。test1的无法调用,就算颠倒方向也是如此。
此事如果test1声明了命名空间,调用方式如下:
注意:如果demo也申明了命名空间test1,那么调用的时候就和原来一样,直接调用test()即可,只有跨命名空间调用的时候才要加上命名空间的名称。
评论(0)
暂无评论