プロジェクトの場合、私はclass Member
とclass Certificate
です。PHP - 2ウェイは2つのクラスをバインドしますか?
メンバーに証明書があるかどうか。証明書はメンバーにバインドされている必要があります。
無制限のループを行わずに、$member->certificate
、および$certificate->member
経由でメンバーに証明書にアクセスする方法はありますか?
プロジェクトの場合、私はclass Member
とclass Certificate
です。PHP - 2ウェイは2つのクラスをバインドしますか?
メンバーに証明書があるかどうか。証明書はメンバーにバインドされている必要があります。
無制限のループを行わずに、$member->certificate
、および$certificate->member
経由でメンバーに証明書にアクセスする方法はありますか?
メンバーは証明書なしで存在できるため、コンストラクターにはデフォルトの証明書がnullになります。 の証明書にはのメンバーがいなければならないので、このメンバーに建設中に渡すよう指示します。ところで
class Member
{
public $certificate;
public function __construct(Certificate $certificate = null)
{
$this->certificate = $certificate;
}
}
class Certificate
{
public $member;
public function __construct(Member $member)
{
$this->member = $member;
$member->certificate = $this;
}
}
$member1 = new Member();
$certificate1 = new Certificate($member1);
は、その無限ループ事は冗談か何かあったんだろう...
あなたのコードで、証明書を持つMemberのインスタンスが必要な場合は、その証明書をインスタンス化する必要があります。これにはMemberなどが必要です。 – Treast
ああ神様...いいえ、単に、いいえ。 – theomessin
合法的な質問、ダウン有権者は... – dbf
nut5に蹴られるべきコメントではありません1つの方法は、コンストラクタでそれらを必要としません。それらのためにセッターを使用してください。プロパティとしてgetterを使用します。プロパティとして何を行う場合は、それらを非公開にして 'magic' __get($ name)を使用します。デモンストレーション:https://eval.in/639631 –
ニース、ありがとう!これを見てください – Treast