Blogger Information
Blog 100
fans 8
comment 2
visits 150564
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
使用use实现外部命名空间类调用--2018年5月12日17时10分发布(5月8日作业)
lilove的博客
Original
935 people have browsed it

主题:

  1. 写二个带有命名空间的类,必须一个类一个脚本

  2. 在其中的一个脚本中引入另一个类

  3. 使用use 来导入另一个类的空间来简化空间成员的引用

实现效果:

0508效果.png

第一个类文件(Class1.php):

<?php

/*
 * 第一个类文件
 */

//建立命名空间php,注意命名空间语句要放在脚本最前面
namespace php\class1;
{
    //在命名空间php下创建一个class1类
    class Class1 {
        //创建公共变量$name,并赋默认值
        public $name = 'class1';
        //创建公共方法add(),给默认参数
        public function add()
        {
            //方法功能为输出字符串
            return '你好'. $this->name;
        }
    }
}

运行实例 »

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

第二个类文件(Class2.php):

<?php

/*
 * 第二个类
 */

//创建命名空间php,注意命名空间语句要放在脚本最前面
namespace php\class2;
{
    //在命名空间php下创建一个类
    class Class2 {
        public $name = 'class2';

        public function add()
        {
            return '你好'. $this->name;
        }
    }
}

运行实例 »

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

应用类实例文件(homework.php):

<?php
//这里的命名空间不影响use直接限定名称导入外部类
namespace php\homework;

//加载外部文件不受命名空间影响,如果使用自动加载器则要注意命名空间路径问题
require 'Class1.php';
require 'Class2.php';

//导入外部文件中的带有命名空间的类(限定名称)
use php\class1\Class1;
use php\class2\Class2;

//此时如果没有导入Class1,会报错
$class1 = new Class1();
echo $class1->add();

echo '<hr>';

$class2 = new Class2();
echo $class2->add();

运行实例 »

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

理解:

在加载外部类文件时,可以直接使用include或require,如果使用自动加载器加载类文件,则要注意类文件中的命名空间问题(不建议自动加载)。

使用include或require直接加载外部类文件不受命名空间影响。

使用use导入类时要注意当前文件是否有命名空间,最好使用限定名称访问。如果有重复名称的类,使用use ... as ... 来起别名访问。

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post