Blogger Information
Blog 34
fans 0
comment 0
visits 32168
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
创建多个命名空间并访问成员+使用use导入其他类+非限定名称,限定名称和完全限定名称的命名空间之间的区别与联系
Belifforz的博客
Original
1174 people have browsed it

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

实例

<?php

namespace Demo1
{
    const APP_NAME = 'PHP';

    class Goods
    {
        public $name = '苹果';

        public static function eat($name= '')
        {
            return $name.'可以吃';
        }
    }

    echo APP_NAME,'<br>';
    echo (new Goods)->name,'<br>';
    echo Goods::eat('苹果'),'<hr>';


}


namespace Demo2\Demo3
{
    const NameSpances = '我是Demo2下的Demo3空间';
}


namespace Demo2
{
   const APP_NAME = 'HTML';

    class Goods
    {
        public $name = '香蕉';

        public static function eat($name = '')
        {
            return $name.'可以吃';
        }
    }

    echo APP_NAME,'<br>';
    echo (new Goods)->name,'<br>';
    echo Goods::eat('葡萄'),'<hr>';
    echo Demo3\NameSpances;
}

运行实例 »

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


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

实例

<?php
//这是demo1文件
namespace Demo1;

    const APP_NAME = 'PHP';

    class Goods
    {
        public $name = '苹果';

        public static function eat($name= '')
        {
            return $name.'可以吃';
        }
    }

    function what()
    {
        return '这是Demo1命名空间下的函数';
    }

运行实例 »

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

实例

<?php
//这是demo2文件
namespace Model;

require 'demo1.php';

use Demo1\Goods as ClassName;
use const Demo1\APP_NAME as NAME;
use function Demo1\what  as func;
class Test1
{
    public static function test()
    {
        return __METHOD__;
    }
}

echo Test1::test(),'<hr>';

echo ClassName::eat('西瓜'),'<hr>';
echo NAME,'<hr>';
echo func();

运行实例 »

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


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


这三者给我的感觉就像   相对路径与绝对路径  这样;

非限定名称:或不包含前缀的类名称,就是名称本身;

限定名称:或包含前缀的名称,名称本身前要加上前缀;

完全限定:或包含了全局前缀操作符的名称,就是从根全局开始写的名称


Correction status:qualified

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