博主信息
博文 34
粉丝 0
评论 1
访问量 29417
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0906作业:命名空间及使用
Samoye
原创
811人浏览过

作业1:用大括号语法实现在一个脚本中创建多个命名空间并访问成员

实例

<?php
/**
  命名空间:解决了类,函数,常量的重名问题,而别名解决了书写路径过长的问题,提高代码效率和可读性。
 */
namespace A {
    const NLB ='二狗';
    class Animal
    {
        private $name = '哈士奇';

        public function sing()
        {
            return $this->name . '在唱歌';
        }
    }
    //访问B的成员
    \B\Web::getAdd('www.php.cn');
    echo'<hr>';

}
namespace B {
    const SITE_NAME = 'PHP中文网';
    class Web {
        public $name;
        public static function getAdd($add){
            echo 'PHP中文网的地址是:'.$add;
        }
    }

    //访问C的成员
    echo \C\add(80,100);
    echo'<hr>';

}

namespace C {
    function add($a,$b){
        return $a+$b;
    }
}

namespace {
    //访问A的成员
   echo \A\NLB.'<br>';
   echo (new \A\Animal())->sing();
   echo'<hr>';
   //访问B空间的成员
    \B\Web::getAdd('www.php.cn');
    echo'<hr>';
    //访问C下面的成员
   echo \C\add(80,100);
}

运行实例 »

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

作业2:使用use 导入其它脚本中的类/常量/函数,并使用别名方式访问

代码1:被包含的命名空间

实例

<?php
/**
 * Created by PhpStorm.
 * User: Core
 * Date: 2018/9/7
 * Time: 18:09
 */
//创建一个用于引入的空间

namespace One\Two\Three{
    class Sum{

        public function add($a,$b,$c){
            return $a+=$b+$c;
        }
    }
}

运行实例 »

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

代码2:被包含的命名空间

实例

<?php
/**

 */
namespace Test{
    class Sum{

        public function add($a,$b){
            return $a+=$b;
        }
    }
}

运行实例 »

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

代码3:use的使用和as别名

实例

<?php
/**
  用于测试引入类和类别名
 */
namespace User;
include "test.php";
include "one.php";

use \One\Two\Three\Sum;
use \Test\Sum as Addsum;

//使用one脚本下的add 方法 这样路径太长输入麻烦
//echo (new \One\Two\Three\Sum())->add(10,20,30);
//使用use 关键字,缩短路径
echo (new Sum())->add(10,30,100);
//因为test中也有个类sum,重名了,使用use建立一个别名
echo (new Addsum())->add(100,300);

运行实例 »

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

作业3:非限定名称,限定名称和完全限定名称的命名空间之间的区别与联系是什么?

/*
 *非限定名称,限定名称和完全限定名称的命名空间之间的区别与联系是什么?
 *
 * 非限定名称只能用于访问 自己/当前 空间的常量,函数,类。
 * 限定名称用于访问当前类的子类,下一级目录,类似:相对路径概念
 * 完全限定名称:就是从根空间\开始,逐级访问空间名称,类似绝对路径;
 *
 *
 *
 */

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学