2017-05-05 3 views
0

クラスの関数を実行した後に変数を取得したい。私は通常2行でそれを行います:PHPのメソッドを実行し、1行に変数を取得

$object->function(); 
    $var = $object->function_variable; 

私は何とか1行でやりますか?私はなぜ(機能していない

$var = $object->function()->function_variable1; 

    $var = $object->function()->function_variable2; 

    $var = $object->function()->function_variable3; 
+0

あなたはこの –

+0

に関する詳細な情報を提供することができる、あなたはinstance_variable意味しますか? –

答えて

0

異なるファイルに一つの機能とは異なるVARSのために呼び出したい一般に

$var = $object->function()->function_variable; 

UPDATE

)簡単にfunction_variableを返しますか?

0

機能は、あなたが$ VARに割り当てる値を返した場合あなたは、あなたが行うことができ、OOP、 の基本について学習する必要があります。

$var = $object->function(); 
0

私はあなたがインスタンスにアクセスするとします変数は関数変数ではありません。 だけあなたがこれを達成することができるようになります、それらのインスタンス変数を持つオブジェクトを返す必要があり、これはあなたの機能を動作させるために

$var = $object->function()->instance_variable; 

:だから、のようになります。より明確にするために

は、以下の例を参照してください。

<?php 

class Name 
{ 
    public $fname, $lname; 

    function __construct($fname, $lname) 
    { 
    $this->fname = $fname; 
    $this->lname = $lname; 
    } 
} 

class Person 
{ 
    private $name; 

    public function __construct($fname, $lname) 
    { 
    $this->setName($fname, $lname); 
    } 

    public function getName() 
    { 
    return $this->name; 
    } 

    private function setName($fname, $lname) 
    { 
    $this->name = new Name($fname, $lname); 
    } 
} 

$p = new Person('Raj', 'Mishra'); 
$name = $p->getName(); 
print $var = $name->fname;   // $var = $object->instance_variable1; 
print " "; 
print $var = $p->getName()->lname; // $var = $object->function()->instance_variable2; 

?> 
関連する問題