Başka bir işlevin kapsamı Erişim değişken?

2 Cevap php
<?php
  function foo($one, $two){
    bar($one);
  }

  function bar($one){
    echo $one;
    //How do I access $two from the parent function scope?
  }
?>

Yukarıdaki kod varsa, nasıl () without (bilinmeyen nedenlerden dolayı) bir değişken olarak geçirerek bar içinde değişken $ 2 erişebilirsiniz.

Teşekkürler,

Mikrofon

2 Cevap

Bir sınıf olun - tüm örnek yöntemleri erişilebilir olacak bir örnek alan olarak 2 $ bildirebilirsiniz:

class Blah {
  private $two;
  public function foo($one, $two){
    this->$two = $two;
    bar($one);
  }

  public function bar($one){
    echo $one;
    // How do I access $two from the parent function scope?
    this->$two;
  }
}

Bir ham yol, örneğin, küresel kapsam içine ihraç etmektir:

<?php
  function foo($one, $two){
    global $g_two;
    $g_two = $two;
    bar($one);
  }

  function bar($one){
    global $g_two;
    echo $g_two;
    echo $one;
    //How do I access $two from the parent function scope?
  }
?>