我想使用命名空间
覆盖类中的预定义函数// one.class.php
class One{
public function __construct($str){
echo strtolower($str);
}
}
好的,调用它会导致
new One("mIxEd"); // mixed
我想覆盖第一类
内的 strtolower 功能我试图这样做
// blabla.class.php
namespace blabla;
function strtolower($str){
return strtoupper($str);
}
class One extends \One{};
好的,然后当我把它们放在一起
// script.php
require_once("one.class.php");
require_once("blabla.class.php");
new One("mIxEd"); // mixed
new blabla\One("mIxEd"); // mixed
输出它仍然是小写的,所以我不会在第一课中覆盖strtolower。
如果可能的话,我会徘徊...... 谢谢你的帮助!
答案 0 :(得分:1)
你需要覆盖blabla \ One中的构造函数来调用命名空间的strtolower。
class One extends \One {
public function __construct($str) {echo strtolower($str);}
}