I have the below listed classes
1. Software_Base 2. User Login 3. Basic Function 4. User Logout
what i wanted to do is i need to access a child class method in another child class. but which is not inter connected with extends
My class extends looks like below
`
class base_class {
public function __construct(){
$this->init_class();
}
public function init_class(){
$this->user_login = new user_login;
$this->base_functions = new base_functions;
}
public function value_from_Base_class(){
return 'Value From Base Class';
}
}
class user_login extends base_class {
public function __construct(){
var_dump($this->value_from_Base_class()); # Works :)
}
public function value_from_user_login_class(){
return 'Value From User Login Class';
}
}
class user_logout extends user_login {
public function __construct(){
var_dump($this->value_from_Base_class()); # Works :)
var_dump($this->value_from_user_login_class()); # Works :)
}
}
class base_functions extends base_class{
public function __construct(){
var_dump($this->value_from_Base_class()); # Not Works :(
var_dump($this->value_from_user_login_class()); # Not Works :(
}
}
`
Inject an user_login
instance when contructing base_functions
:
class base_functions extends base_class{
public function __construct($user_login){
var_dump($this->value_from_Base_class());
var_dump($user_login->value_from_user_login_class());
}
}
$f = new base_functions(new user_login());
The call to $this->value_from_Base_class()
in base_functions
should work anyway.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.