data-id="1190000004892254">
命名空间
命名空间的声明
命名空间在
命名空间声明语句以namespace开头,随后是一个空格,然后是命名空间的名称,最后以;结尾;
厂商命名空间即下面声明的“Oreilly”是最重要的命名空间;必须具有全局唯一性。
登录后复制
子命名空间
登录后复制
Ps: 同一个命名空间下的所有类、接口、函数没必要在同一个所以,我们可以在不同的文件中编写属于同一个命名空间的多个类。
import and alias
# Zend_Cloud_DocumentService_Adapter_WindowsAzure_Query => Zend/Cloud/DocumentService/Adapter/WindowsAzure/Query.
登录后复制
但是你也看到了,太TM长了,不能忍啊!!!
namespace提供了 import和 alias来解决这个问题。
import,alias 在5.3版本下支持类,接口与命名空间导入。5.6开始支持函数与常量导入。
# namespace without alias
登录后复制
# namespace with Default alias use Symfony\Component\HttpFoundation\Response; $response = new Response('Oops',400); $response->send();
登录后复制
# namespace with custom alias use Symfony\Component\HttpFoundation\Response as Res; $response = new Res('Oops',400); $response->send();
登录后复制
注意:
同namespace声明一样,在
开头无需加\符号,因为
use必须出现在全局作用域中,因为use在编译时使用。
登录后复制
导入常量:
登录后复制
实用技巧
多重导入
如果想在一个
不建议:
登录后复制
建议:
登录后复制
登录后复制
全局命名空间
登录后复制
NOTE: 此时,在 Exception类的名称前加\前缀是告诉
以上就介绍了Modern-