php命名空间的缺点有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强>定义命名空间强>
必须是第一个语句,前面不能有任何语句,注释可以。
必须是绝对命名空间。
namespace bookrpg \配置;//或者 namespace bookrpg \配置 { } namespace \ bookrpg \ config,//错误,不能有前导\
<>强导入命名空间强>
必须是绝对命名空间。
use bookrpg \ config \名称; use \ bookrpg \ config \类名,//可以有前导\,但不建议加 use bookrpg \ config \ ClassName as  NewClassName; use 异常; use \例外,//可以有前导\,但不建议加
<强>使用命名空间强>
使用绝对命名空间
cls 美元;=,new \ bookrpg \ config \ ClassName (); class MyException  extends \例外 { }
使用相对命名空间
namespace bookrpg {//等才能同于new \ bookrpg \ config \ ClassName (); 时间=美元才能cls new 配置\ ClassName ();//错才能误,php会认为是\ bookrpg \异常,而不是全局类例外 时间=美元才能ex new 异常(); }
<>强怪异的地方强>
c++、Java、c#都有相似的命名空间概念,而php的命名空间不跟随大流,有自己的一套独立的思想,对于先入为主的人来来说就显得怪异和令人迷惑。
- <李>
命名空间中居然有反斜杠?
点号(.)已经被用作字符串连接符了,又要区分绝对和相对命名空间,新.a.b.c()太不美观,所以选择反斜杠吧。
李> <李>一旦使用了命名空间,使用全局类也要加上“\”或者使用一下,累不累呀?
没办法,为了严格类比文件系统的概念,也为了随便定义类名,而不用担心类名冲突。
李> <李>既然是严格类比文件系统,为什么定义和导入命名空间的时候,前面不加\呢?
只能说,php的设计者不是完美主义者。
李>但php的命名空间确实缺乏逻辑完美性:
- <李>
前导\的使用不统一,同样是绝对命名空间,定义的时候不允许用,导入的时候却允许用。
李> <李>即使是全局类,在非全局命名空间下,也必须使用前导\,而全局函数和变量又不受此限制。
李><强>使用建议强>
- <李>
定义和导入命名空间的时候,统一不加前导\
李> <李>所有的类都使用使用导入,包括全局类,只命名空间类,有冲突的就像一下
李> <李>禁止直接使用相对命名空间
李>php开发环境搭建工具有哪些
一、phpStudy,是一个新手入门最常用的开发环境,二,WampServer, WampServer也同样的也是和phpStudy一样操作简单对小白比较友好。三,XAMPP, XAMPP Apache (php + MySQL + + PERL)是一个功能强大的建站集成软件包;四,MAMP, MAMP分为两种MAMP和MAMP Mac Pro。五,宝塔面板,宝塔面板是一款服务器管理软件,支持windows和linux系统,六UPUPW, UPUPW是目前windows平台下最具特色的Web服务器php套件。
关于php命名空间的缺点有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。