博客列表 >use 导入空间/别名 201年5月8日

use 导入空间/别名 201年5月8日

墨雨的博客
墨雨的博客原创
2018年05月10日 18:47:04617浏览

       PHPClassA.php和PHPClassB.php是两个带有命名空间的php类脚本,两个脚本定义了一样的类名PHPClass,并且它们有相同的类属性name和类方法func,在classB中用use as 导入classA并创建别名,避免在clsaaB的func1方法中引用classA的func方法时和classB的func方法产生冲突。在测试脚本test.php中同样使用 use as 给classA及其空间创建别名,为之后的实例化简化了代码。

  1. PHPClassA.php

    实例

    <?php
    
    /*
     * 命名空间练习A
     */
    
    namespace A;
    
    /**
     * Description of PHPClassA
     *
     * @author Dell
     */
    class PHPClass
    {
        public  $name='PHPclassA';
        public function func() 
        {
            echo $this->name,'的方法';
        }
    }

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

  2. 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();
            
        }
    }

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

  3. 测试脚本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();

运行实例 »

点击 "运行实例" 按钮查看在线实例

测试截屏:

草图.png



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议