PHP 命名空间-史上最烂的命名空间

作者:刘老师 武汉长乐教育,武汉PHP培训课程,版权所有,转载请注明!

PHP 命名空间-史上最烂的命名空间

命名空间见过不少, 没见过PHP这么令人恶心的命名空间... 这东西是新版ThinkPHP的基础, 所以我们还是要搞清楚!

1. 命名空间的定义

namespace.php

<?php
//方法一
namespace my\name;
class A {
    function test(){
        echo 123;
    }
}

//方法二
namespace my\name{
    class A {
        function test(){
            echo 123;
        }
    }
}

2. 命名空间的使用

index.php

//方法一
require("namespace.php");
use my\name\A;

$a = new A();
$a->test();

//方法二
use my\name\A as D;

$a = new D();
$a->test();

//方法三
use my\name as name;

$a = new name\A();
$a->test();

//方法四
require("namespace.php");

$a = new my\name\A();
$a->test();

3. 为什么要有命名空间?

因为php在new的时候不管是调用autoload还是调用已加载过的类, 都存在一个类名对应的文件.

所以在没有namespace的时候, 我们会想各种命名规则来区分不同的类, 比如School_Class1_Student或者School_Class2_Student.

当有了命名空间以后, 你甚至可以定义相同的类名, 只需要让他们存在于不同的命名空间就可以了.

上一篇课程 没有更多了

学生登录