时间:2021-07-01 10:21:17 帮助过:2人阅读
room['teacher'] = $teacher;
}
function addStudents($student){
$this->room['student'] = $student;
}
}
class Teacher{
public $name='AAAA';
public $room=[];
function __construct($room){
$this->room = $room;
}
function sayHello(){
echo ' hello '.$this->room['student']->name.' student '.PHP_EOL;
}
}
class Student{
public $name = 'BBB';
public $room=[];
function __construct($room){
$this->room = $room;
}
function sayHello(){
echo ' hello '.$this->room['teacher']->name. ' teacher '.PHP_EOL;
}
}
$Classroom = new Classroom;
$Classroom->addTeacher( new Teacher($Classroom->room) );
$Classroom->addStudents( new Student($Classroom->room) );
$Classroom->room['teacher']->sayHello();
$Classroom->room['student']->sayHello();
这里的老师是获取不到学生名字的
我用容器将所有的应用组件包起来,然后,当应用组件之间调用的时候,就会有这样的问题。
前面注册进去的应用组件无法调用后面注册的应用,但是后面注册的应用是可以调用前面的。
那么如果说,前面的要使用后面的应用,这个问题怎么解决呢?
room['teacher'] = $teacher;
}
function addStudents($student){
$this->room['student'] = $student;
}
}
class Teacher{
public $name='AAAA';
public $room=[];
function __construct($room){
$this->room = $room;
}
function sayHello(){
echo ' hello '.$this->room['student']->name.' student '.PHP_EOL;
}
}
class Student{
public $name = 'BBB';
public $room=[];
function __construct($room){
$this->room = $room;
}
function sayHello(){
echo ' hello '.$this->room['teacher']->name. ' teacher '.PHP_EOL;
}
}
$Classroom = new Classroom;
$Classroom->addTeacher( new Teacher($Classroom->room) );
$Classroom->addStudents( new Student($Classroom->room) );
$Classroom->room['teacher']->sayHello();
$Classroom->room['student']->sayHello();
这里的老师是获取不到学生名字的
我用容器将所有的应用组件包起来,然后,当应用组件之间调用的时候,就会有这样的问题。
前面注册进去的应用组件无法调用后面注册的应用,但是后面注册的应用是可以调用前面的。
那么如果说,前面的要使用后面的应用,这个问题怎么解决呢?
room['teacher'] = $teacher;
}
function addStudents($student){
$this->room['student'] = $student;
}
}
class Teacher{
public $name='AAAA';
public $room=[];
function __construct($room){
$this->room = $room;
}
function sayHello(){
echo ' hello '.$this->room->room['student']->name.' sdent '.PHP_EOL;
}
}
class Student{
public $name = 'BBB';
public $room=[];
function __construct($room){
$this->room = $room;
}
function sayHello(){
echo ' hello '.$this->room->room['teacher']->name. ' teacher '.PHP_EOL;
}
}
$Classroom = new Classroom;
$Classroom->addTeacher( new Teacher($Classroom) );
$Classroom->addStudents( new Student($Classroom) );
$Classroom->room['teacher']->sayHello();
$Classroom->room['student']->sayHello();