2017-08-17 110 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; 
    } 
} 

這可能是優化你的應用程序,管理和歌曲的方式,否則你的架構會變得非常複雜,是一個好主意。