如何从方法中获取变量

时间:2013-03-17 17:41:39

标签: php class variables global-variables scope

如果我有文件class.php

class Greeting {
   function Hello {
      $variable = 'Hello World!';
   }
}

然后是主文件index.php

include('class.php');
$page = new Greeting();
$page->Hello();

如何访问$variable内的index.php内容?

4 个答案:

答案 0 :(得分:2)

您现在无法访问它。您需要将其设为以下属性:

class Greeting {
   public $variable = 'Hello World!';
   function Hello {
      return $this->variable;
   }
}

然后您可以像访问它一样访问它:

$page = new Greeting();
echo $page->variable;
// or
echo $page->Hello();

答案 1 :(得分:1)

不要忽视所有可能性,你也可以这样做:

class Greeting {
   function Hello() {
      global $variable;
      $variable = 'Hello World!';
   }
}

$page = new Greeting();
$page->Hello();

echo $variable;

但不要这样做!这毫无意义。

答案 2 :(得分:0)

相反,在类本身中使$variable公开,然后在Hello()函数中设置它。

class Greeting {
   public $variable = '';

   function Hello {
      $this->variable = 'Hello World!';
   }
}

然后您可以通过执行以下操作来检索它:

include('class.php');
$page = new Greeting();
$page->Hello();
echo $page->variable;

另一个替代方法是让Hello()返回$变量,然后你可以从那里检索它。

答案 3 :(得分:0)

     class Greeting {
 public $variable = 'Hello World!';
 function Hello (){
    echo $this->variable;
 }
}
$page = new Greeting();
$page->Hello();