\in_array (\strtolower ($format), ['xml', 'JSON']) 函数前面为什么加个反斜杠?
\in_array(\strtolower($format), ['xml', 'json']) 函数前面为什么加个反斜杠?
高认可度评论:
不加的话,会在当前命名空间查找,加了只在根空间(
\
)查找,这里是编辑器自动加的。不过加上速度应该有差别了(当然这点差别不大)。 :smile:命名空间
@Littlesqx 函数前面也要加?不是类才加吗?
@xuecong 命名空间是针对文件的,不是单指类
不加的话,会在当前命名空间查找,加了只在根空间(
\
)查找,这里是编辑器自动加的。不过加上速度应该有差别了(当然这点差别不大)。 :smile:如果没记错的话,一个文件可以有多个类也可以多个命名空间,一个命名空间可以有多个类,类不一定要有命名空间(有的公司老代码就没有命名空间 PHP<5.3),通常写法是一个文件对应一个类一个命名空间,命名空间也通常是以文件对应,把加 \ 比作使用 PHP 全局变量,把不加 \ 比作使用 PHP 局部变量,\ 跟 PHP global 关键字类似,php.net 上是说命名空间为了解决以下两个问题:
1、用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
2、为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。
@FreeMason 一个文件可以多个命名空间怎么做到的
@Littlesqx 你先测试,再看查 php 命令空间相关解释与说明
例子:
@FreeMason 才知道原来可以这样...
@FreeMason 在请教一个问题, 在手册看到这个例子
为什么是 1 2 1
@Littlesqx
这个问题你从两方面入手:
1、 PHP 变量作用域
2、为什么需要命令空间?命令空间是为了解决什么问题?
函数前加反斜杠怕是复制的时候被编辑器加的