我们都知道臭名昭著的“无法重新声明类”错误。有没有什么方法可以克服这个问题并实际声明一个同名的新类,或者这在 PHP 5 中是不可能的?
正如 Pekka 和 Techpriester 都指出的那样:不,你不能。但是,如果您使用 PHP >= 5.3,那么您可以使用命名空间 http://www.php.net/manual/en/language.namespaces.rationale.php以及“使用”构造来有效地“重新声明”该类。这是一个例子:
// 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 现在引用您的命名空间类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)