2017-08-17 5 views
-2

このような2つのクラスを接続することは可能ですか? 我々はその後、今、ユーザ「ラマー」で曲を追加するために、クラスの曲を使用する方法の変数php oopどのように2つのクラス(親から拡張)を接続します

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'ですか? * * '' song''は '' app''ですか?どこでも 'app'が必要な場所に' song'を置き換えることができますか?私はそうは思わない。論理的には、この継承構造は意味をなさない。 – 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; 
    } 
} 

そうでない場合は、あなたのアーキテクチャが非常に複雑になる可能性アプリ、adminと歌のためにあなたのアプローチを最適化するためには良い考えかもしれません。

関連する問題