php oop如何连接两个类(从一个父类扩展)

时间:2017-08-17 07:50:32

标签: php oop

可以像这样连接两个类吗? 我们希望首先使用admin类登录,然后使用$ user而不传递变量

class app {

 $user;

}


class admin extends app {

 function login() {
   $this->user = "lamar";
 }

}



class song extends app {

  function add() {
   // add somthing with $this->user
  }

}

$admin = new admin();
$admin->login();

现在如何使用课堂歌曲与用户“lamar”一起添加歌曲?

1 个答案:

答案 0 :(得分:-1)

无法连接类并在不传递变量的情况下使用它们的值。看一下依赖注入,以获得对另一个类中的类的访问。

关于您的示例,它可能如下所示:

class User {
 private $username;

 function getUsername() {
   return $this->username;
 }
}

class Song {
  private $user;

  function __construct(User $user) {
     $this->user = $user;
  }

  function getUser() {
    return $user;
  }
} 

优化您的app,admin和song方法可能是一个好主意,否则您的架构会变得非常复杂。