私のPHPコードで問題を発見しました。私はオブジェクトとマネージャを使ってPHPコードを書くのに使われています。例:写真がオブジェクトで、PhotoManagerがマネージャです。私もユーザーオブジェクトとユーザーマネージャを持っています。さまざまな種類のオブジェクトを扱うにはどうすればよいですか?
<?php
class Photo
{
public $id;
public $name;
public $user;
public function __construct($id, $name, User $user)
{
$this->id = $id;
$this->name = $name;
$this->user = $user;
}
}
?>
<?php
class User
{
public $id;
public $name;
public function __construct($id, $name)
{
$this->id = $id;
$this->name = $name;
}
}
?>
<?php
class PhotoManager
{
public function loadAll()
{
// load all photos (array with objects)
}
public function loadById($id)
{
// return a single photo (object)
}
}
?>
<?php
class UserManager
{
public function loadAll()
{
// load all users (array with objects)
}
public function loadById($id)
{
// return a single user (object)
}
}
?>
これは正常に動作します:
は、次のコードのビットを参照してください。私の現在のコードでは、マネージャはあらゆる種類の機能を備えています。
は、私はこのような経営者を使用します。
<?php
$userManager = new UserManager();
$photoManager = new PhotoManager();
?>
問題は、私は写真オブジェクトにユーザーオブジェクトを追加したいということです。だから、UserManagerPhotoManagerにはどのような方法がありますか?私は写真オブジェクトに対してユーザーをロードしていたとき、私はのUserManagerからloadById機能にアクセスしたいので。