php运行方法并在一行中获取变量

时间:2017-05-05 13:42:52

标签: class variables

我希望在运行类函数后获得变量。我通常分为两行:

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

我能以某种方式在某条线上做到吗?

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

更新

一般情况下,我想从不同文件中的一个函数调用不同的变量

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

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

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

2 个答案:

答案 0 :(得分:0)

你需要了解oop的基础知识, 如果函数返回要分配给$ var的值,则可以执行以下操作:

$var = $object->function();

答案 1 :(得分: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;

?>