#### 命名空间的由来
同时导入两个php文件,两个文件都包含相同的方法名或者类名。此时会报错,为了解决这种问题,php引入了命名空间的概念。
#### 定义命名空间
namespace放到第一行
同一个目录下的想同类,可以定义不同的命名空间。
统一目录下的两个1.php 和 2.php
~~~
namespace venter
class Imooc(){
}
function ilikeImooc(){
}
const IMOOC="常量";
namespace venter\session
class Imooc(){
}
//函数
function ilikeImooc(){
}
~~~
c.php文件内容,不会冲突
~~~
require 1.php;
require 2.php;
new venter\Imooc();
venter\ilikeImooc();
new venter\session\Imooc();
venter\session\ilikeImooc();
~~~
#### 使用use关键字导入命名空间下的类
~~~
use Venter\session\Imooc; //导入Venter\session空间下的Imooc类。
use Venter\Imooc as Imooc2; //导入Venter空间下的Imooc类,并使用别名 Imooc2.
use function Venter\session\ilikeImooc; //导入命名空间下的函数
use const Venter\session\IMOOC; //导入命名空间下的常量
~~~
#### 全局命名空间
~~~
class ImoocTest(){
}
function Test2(){
}
const TEST3 = "test3";
~~~
没有定义命名空间的类 默认存在于全局命名空间,此时调用需要使用反斜杠调用。
但是函数和常量可以不加反斜杠,因为函数和常量发现当前命名空间不存在的话,会默认去全局命名空间寻找
`new \ImoocTest();`
- 简介
- Cookie
- HTML5 LocalStorage
- session
- 当浏览器关闭后,Session就销毁了吗?
- mysql数据库保存session
- HTTP协议的由来
- fsockopen异步请求
- http防盗链
- Apache伪静态知识补充
- 大并发量解决方案
- 大型网站是怎样解决多用户高并发访问
- 网站高并发 大流量访问的处理及解决方法
- 并发数与在线客户数 注册用户数的关系
- 即时聊天程序
- 反向Ajax实现
- ob缓存作用
- 浅聊并发之战
- php扩展安装
- php安装redis扩展
- SQLMap自动化实施SQL注入共计
- 命名空间namespace
- 集群和分布式之【session共享】
- php Redis存储Session 【1】
- php Redis存储Session 【2】
- php mysql存储session【1】
- php缓存
- 文件缓存
- memcache和redis的比较
- 原生session与session in redis对比
- XSS攻击【1】
- XSS攻击【2】
- PHP消息队列
- php+mysql 模拟发送邮件队列
- php+mysql 模拟订单处理队列
- php+redis 模拟秒杀队列
- RabbitMQ 消息队列系统
- beanstalkd
- PHP构建即时通讯
- WebSocket协议
- workerman
- PHP变量的作用域
- PHP传值和传引用的区别
- PHP匿名函数
- PHP递归函数&应用
- PHP单例模式
- PHP性能优化
- RESTful
- 集群
- 增加pgsql扩展
- php.ini路径查找
- Swoole Compiler
- mysql 主从
- 主从
- mysql-proxy
- window docker环境