2016-12-03 12 views
-1
class ABC{ 
    public function __construct(){} 
    // There have a parameter 
    public function check($data){ 
    // There have a variable 
     $available = null; 
     if(true){ 
      $available = true; 
     }else{ 
      $available = false; 
     } 
    } 
} 


$obj= new ABC(); 

// I want to access this $available 

$obj->available; 

クラスメソッドから値$availableにアクセスするにはどうすればよいですか? このメソッドには動的パラメータがあります(これは問題です)。PHPクラスの内部メソッドからの変数値へのアクセス

+0

あなたはクラスメソッドから変数にアクセスできません。パブリックプロパティ$を設定してアクセスすることができます。 –

答えて

1

現在$availableは、check機能の範囲内にのみ表示されます。 $availableのローカル変数を作成し、可視性をpublicに設定し、ABCクラスの変数を変更して、クラスの外部からアクセスする必要があります。

<?php 
    class ABC { 
     public $available = true; 

     public function __construct(){} 
     public function check($data){ 
      // There have a variable 

      if($data){ 
       $available = true; 
      }else{ 
       $available = false; 
      } 
     } 

     // create an optional getter for the variable 
     public function isAvailable() { 
      return $available; 
     } 
    } 

$obj= new ABC(); 

// I want to access this $available 
echo $obj->available 

// or access it through the getter 
echo $obj->isAvailable() 
関連する問題