2017-08-17 107 views
-2

是否可以连接这样的两个类? 我们希望与管理类第一次登录,然后使用$用户没有通过变量php oop如何连接两个类(从一个父类扩展)

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(); 

现在如何使用类歌曲对用户“拉马尔”添加歌曲?

+1

在歌类中使用依赖注入 –

+1

*是*'admin' * an *'app'吗? * *歌曲* * *应用程序?你可以在任何需要“应用程序”的地方替换“歌曲”吗?我不这么认为。从逻辑上讲,这种继承结构毫无意义。 – deceze

回答

-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; 
    } 
} 

这可能是优化你的应用程序,管理和歌曲的方式,否则你的架构会变得非常复杂,是一个好主意。