批改状态:未批改
老师批语:
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();
点击 "运行实例" 按钮查看在线实例
测试截屏:

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号