前言:
目前我们对“php命名规则”大体比较注重,兄弟们都想要剖析一些“php命名规则”的相关内容。那么小编也在网上搜集了一些对于“php命名规则””的相关知识,希望你们能喜欢,各位老铁们一起来了解一下吧!啥是命名空间?
还是讲一个班级点名的例子吧。我们上了大学,来自五湖四海的朋友来到同一所学校,同一个班级,同一个宿舍!缘分就是这么的奇妙,有两个同学,都叫“李四”,只是来自不同的地方,一个来自A地,一个来自B地,新学期,老师让他们都做自我介绍。看下面例子:
<?phpnamespace A{ function introduce(){ echo "我是来自A地的 ".NAME.PHP_EOL; }}namespace B{ function introduce(){ echo "我是来自B地的 ".NAME.PHP_EOL; echo "我是在B命名空间开始调用的----".PHP_EOL; C\E\subspace(); echo "我是在B命名空间开始调用的+++".PHP_EOL; };}namespace B\C\E{ function subspace(){ echo "我是最内层命名空间".PHP_EOL; }}namespace { const NAME = "李四"; \A\introduce(); \B\introduce(); \B\C\E\subspace(); use \B\C\E as BCE; BCE\subspace();}?>
以上会输出以下内容:
我是来自A地的 李四我是来自B地的 李四我是在B命名空间开始调用的----我是最内层命名空间我是在B命名空间开始调用的+++我是最内层命名空间我是最内层命名空间
注:命名空间中只能包含:接口,类,函数和常量,不能包含变量;const也是用来定义一个常量(同之前讲到的define);namespace A{}表示定义了命名空间A,大括号里的内容都属于A,要访问A命名空间里的函数,可以使用:\A\函数名称();最后那个namespace没有命名空间,相当于一个全局命名空间;use \B\C\E as BCE 表示使用BCE来表示\B\C\E的命名空间,当命名空间名称比较长时,可以使用此方式来缩短每次调用时需要写大量名称的问题。C\E\subspace(),这里为啥没有写之前的B?因为这里前面没有加\,表示是依据当前命名空间B开始的。
警告:这个命名空间很重要,一定要理解下来并记住使用方法,因为将来很多的框架都会使用到命名空间
标签: #php命名规则