Это должно работать
class Foo {
function __get($field) {
if ($field == "username") {
//don't need to create get_instance function
$CI = CI_Base::get_instance();
return $CI->username;
}
}
}
Вы можете передать весь доступ к несуществующим полям из Foo объекту $ instance:
class Foo {
function __get($field) {
$CI = CI_Base::get_instance();
return $CI->$field;
}
}
class DB extends Foo {
function connect() {
// this->username will call __get magic function from base class
echo this->username;
}
}
inphp5 вам не нужно ставить амперсанд перед get_instance
, потому что все объекты передаются по ссылке.