Nasıl geçerli nesne oluşturulan sınıf almak için?

0 Cevap php

Ben nasıl, hangi sınıf oluşturulan nesne bir kontrol edebilirsiniz B'den daha başka bir sınıf tarafından yürütülen foo () engellemek istiyorum?

<?php
class A
{
    public function foo()
    {
        if (.... B )    // what should be on the dotts?
           echo 'I\'m created by class B, which is fine';
        else
           echo 'Execution of foo() is not allowed';
    }
}

class B
{
    public function go()
    {
        $a = new A;
        $a->foo();
    }
}

class C
{
    public function go()
    {
        $a = new A;
        $a->foo();
    }
}

$b = new B;
$b->go();  // result: I\'m created by class B, which is fine

$c = New C;
$c->go();  // result: 'Execution of foo() is not allowed'

0 Cevap