将外部类动态关联到命名空间

时间:2013-08-20 21:02:04

标签: php

我是新来的。 对不起,如果我没有正确解释,我这样做并不容易。

我正在尝试动态地将类关联到命名空间,这意味着:

假设file1.php:

// file1.php
namespace myNamespace;
require_once("./file2.php");

// I want to the following dynamically:
use \myClass as myClass;

// So I can be able to do so:
\myNamespace\myClass::myMethod();

...包含类的文件:

// myClass.php
class myClass {
    public function myMethod() {
        return "Hello world!";
    }
}

我要做的是按以下方式加载:

\myNamespace\myClass::myMethod();

但是,目的是动态地这样做。通过这个我的意思是能够创建一个函数,而不是使用require_once(以及后来的使用函数)函数,所以file1.php变成:

// file1.php
namespace myNamespace;
load_comp("myClass");

// And then be able to do:
\myNamespace\myClass::myMethod();

有没有这样的模式? 我想这样做,所以定义命名空间的文件不会太大(因为我想用更多的类来做这件事),并使访问更容易。

我知道如何使用myClass.php拥有它自己的命名空间,但它变得更加混乱,因为它会变成类似:

\myNamespace\myClassNamespace\myClass::myMethod();

然后,您将拥有仅由myClass使用的命名空间\ myNamespace \ myClassNamespace(因此它变得更复杂)。

谢谢!

0 个答案:

没有答案