\in_array (\strtolower ($format), ['xml', 'JSON']) 函数前面为什么加个反斜杠?

\in_array(\strtolower($format), ['xml', 'json']) 函数前面为什么加个反斜杠?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 11

不加的话,会在当前命名空间查找,加了只在根空间(\)查找,这里是编辑器自动加的。不过加上速度应该有差别了(当然这点差别不大)。 :smile:

5年前 评论

命名空间

5年前 评论

@Littlesqx 函数前面也要加?不是类才加吗?

5年前 评论

@xuecong 命名空间是针对文件的,不是单指类

5年前 评论

不加的话,会在当前命名空间查找,加了只在根空间(\)查找,这里是编辑器自动加的。不过加上速度应该有差别了(当然这点差别不大)。 :smile:

5年前 评论

如果没记错的话,一个文件可以有多个类也可以多个命名空间,一个命名空间可以有多个类,类不一定要有命名空间(有的公司老代码就没有命名空间 PHP<5.3),通常写法是一个文件对应一个类一个命名空间,命名空间也通常是以文件对应,把加 \ 比作使用 PHP 全局变量,把不加 \ 比作使用 PHP 局部变量,\ 跟 PHP global 关键字类似,php.net 上是说命名空间为了解决以下两个问题:

1、用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
2、为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。

5年前 评论

@FreeMason 一个文件可以多个命名空间怎么做到的

5年前 评论

@Littlesqx 你先测试,再看查 php 命令空间相关解释与说明
例子:

file

5年前 评论

@FreeMason 才知道原来可以这样...

5年前 评论

@FreeMason 在请教一个问题, 在手册看到这个例子

<?php // php5 - package-version : 5.3.5-1ubuntu7.2

    namespace
    main
    {}

    namespace
    main\sub1
    {
        $data = 1;
    }

    namespace
    main\sub2
    {
        echo $data;// 1
        $data = 2;
    }

    namespace
    main\sub1
    {
        echo $data;// 2
        $data = 1;
    }

    namespace
    {
        echo $data;// 1
    }

为什么是 1 2 1

5年前 评论

@Littlesqx

这个问题你从两方面入手:

1、 PHP 变量作用域

2、为什么需要命令空间?命令空间是为了解决什么问题?

5年前 评论

函数前加反斜杠怕是复制的时候被编辑器加的

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!