PHPClassA.php和PHPClassB.php是两个带有命名空间的php类脚本,两个脚本定义了一样的类名PHPClass,并且它们有相同的类属性name和类方法func,在classB中用use as 导入classA并创建别名,避免在clsaaB的func1方法中引用classA的func方法时和classB的func方法产生冲突。在测试脚本test.php中同样使用 use as 给classA及其空间创建别名,为之后的实例化简化了代码。
PHPClassA.php
实例
<?php /* * 命名空间练习A */ namespace A; /** * Description of PHPClassA * * @author Dell */ class PHPClass { public $name='PHPclassA'; public function func() { echo $this->name,'的方法'; } }
运行实例 »点击 "运行实例" 按钮查看在线实例
PHPClassB.php
实例
<?php /* *命名空间练习B */ namespace B; /** * Description of PHPClassB * * @author Dell */ use A\PHPclass as classA; class PHPClass { public $name='PHPclassB'; public function func() { echo '我是',$this->name,'的方法'; } public function func1() { echo '我是在', $this->name,'中调用的',(new classA)->func(); } }
运行实例 »点击 "运行实例" 按钮查看在线实例
测试脚本test.php
实例
<?php /* * 命名空间测试 */ require 'class\PHPClassA.php'; require 'class\PHPClassB.php'; use A\PHPClass as A1; echo (new A1)->name.'<br>'; (new A1)->func(); echo '<hr>'; echo (new B\PHPClass)->name.'<br>'; (new B\PHPClass)->func(); echo '<br>'; (new B\PHPClass)->func1();
运行实例 »
点击 "运行实例" 按钮查看在线实例
测试截屏: