我们都知道臭名昭着的"不能重新宣布上课"的错误.有没有任何方法可以克服这个问题并实际声明一个具有相同名称的新类,或者这在PHP 5中是不可能的?
jpf*_*es2 14
正如Pekka和Techpriester都指出的那样:不,你不能.但是,如果您使用PHP> = 5.3,那么您可以使用命名空间和"use"构造来有效地"重新声明"该类.这是一个例子:
// MyClass.php
class MyClass {
const MY_CONST = 1;
}
// MyNamespaceMyClass.php
namespace Mynamespace;
class MyClass {
const MY_CONST = 2;
}
// example.php
require_once 'MyClass.php';
require_once 'MyNamespaceMyClass.php';
use Mynamespace\MyClass as MyClass;
echo MyClass::MY_CONST; // outputs 2
因此,您已经获得了所需的结果,因为MyClass现在引用了您的命名空间类.
可能有一种方法使用一些模糊的扩展,但在基本的标准PHP中,据我所知,没有.
但是,您可以始终扩展现有的类 - 也许,根据您的方案 - 将该扩展类的实例"偷偷"到您正在处理的应用程序中.
| 归档时间: |
|
| 查看次数: |
10060 次 |
| 最近记录: |