如何将类中的变量调用到另一个文件中 例如:
Controller.php这样
<?php
class hello {
public $var = 1;
public function a(){
......
}
public function b(){
.....
}
}
?>
的index.php
<?php
$hello = new hello;
//how to call the $var ? HERE
?>
答案 0 :(得分:5)
就像这样:
$hello->var = 2
或者检索值:
$val = $hello->var;
答案 1 :(得分:3)
如果var
公开,您可以执行此操作:
$hello->var = $value;
$value = $hello->var;
通常,您不希望直接访问类成员。你可以制造吸气剂和制定者:
class hello{
private $var;
...
function getVar(){
return $var;
}
function setVar($value){
$var = $value;
}
}
然后你可以这样做:
$hello->getVar();
$hello->setVar($newVarValue);
PHP还具有魔术函数__get() and __set(),允许访问不可访问的成员。这基本上与getter和setter相同,但你可以为每个成员使用一个函数而不是多个函数(如果没有正确维护,它可能会变得混乱)。
所以在你的班上你可以这样做:
class hello{
private $var;
...
function __get($name){
if($name == 'var')
return $var;
}
function __set($name, $value){
if($name == 'var')
$var = $value;
}
}
但你仍然可以访问这样的成员:
$hello->var = $value;
$value = $hello->var;
即使$var
是私有的。