好的,我是命名空间的新手,这是场景......我有2个文件
libs / class.mysql.inc.php
class MySQL{
}
类/ class.mysql.inc.php
require_once('libs/class.mysql.inc.php');
interface MySQLTemplate{
}
class MySQLWrapper extends MySQL implements MySQLTemplate{
}
好的,所以这是我的问题。我怎样才能将MySQLWrapper重命名为MySQL?显然'类MySQL扩展MySQL'不可能发生。在要求文件之前,我似乎无法声明命名空间。 (我可以,但它不接受命名空间)。我不想触摸libs / class.mysql.inc.php文件(如果可能的话)。
任何提示?提示?可能性在这里?
答案 0 :(得分:1)
只要您需要引用MySQLWrapper
,就要求使用use
关键字进行此类:
use MySQLWrapper as MySQL;
//do your stuff with MySQL as an alias
答案 1 :(得分:0)
好的,看起来你只能在文件中定义命名空间,忽略任何包含。我通过在文件顶部声明一个随机命名空间来绕过它(PHP喜欢这个先于其他任何东西)。然后因为包含文件,inlcude类的名称空间是全局的。所以我得到了它的工作:
库/ class.mysql.inc.php
class MySQL{
}
类/ class.mysql.inc.php
namespace Libs;
require_once('libs/class.mysql.inc.php');
namespace App;
interface MySQLTemplate{
}
class MySQL extends \MySQL implements MySQLTemplate{
}
希望这有助于其他人......我有点不知所措,因为我不了解它的行为。