PHP5.3.0 新增的一种封装事物的方法,解决编写的类库或应用程序时命名冲突的问题,类似window系统的文件夹
创建一个namespace.php文件
<?php //声明一个App的命名空间 namespace App //1 定义一个类 class student{ private $name = "小德"; private $age = "28"; public function __construct(){ echo "{$this->name}的年龄是{$this->age}岁"; } } //2 定义一个普通函数 function dump($target){ var_dump($target); } //3 定义一个局部常量 const WHO = "rufeike"; //4 其他任意代码 $a = 1000; ?>在当前目录创建一个index.php,引入上面的创建的namespace.php文件,进行测试使用
<?php //包含namespace.php 文件 require_once("./namespace.php"); //1 创建学生类对象 //注意:直接使用会报错,需要在类前指定命名空间App/Student /* 报错信息: Fatal error: Uncaught Error: Class 'Student' not found in C:\Users\rufeike\Desktop\phasher\test\index.php:3 Stack trace: #0 {main} thrown in C:\Users\rufeike\Desktop\phasher\test\index.php on line 3 */ $student = new App\Student(); //2 调用dump方法 App\dump("hello world!"); //使用局部变量 echo App\WHO; //普通代码可以直接使用 echo $a;定义
<?php //创建 App\Home\Controller的命名空间 namespace App\Home\Controller; class Student{ ..... }使用
<?php $student = new App\Home\Controller\Student();