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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 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年前 评论

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