class foo {
public function bar(){
$var = 10;
return $var
}
}
我在一个文件中有这个类,我可以调用这个类并在另一个文件中运行并以某种方式编辑变量$ var,然后将它存储到同一个变量中,以便它可以在类之后使用吗?
答案 0 :(得分:0)
您无法“进入”功能并更改其中使用的变量。从某种理论计算机科学的角度来看,它甚至没有意义。变量$var
仅在函数执行时存在。当您致电$foo->bar()
时,其中的代码会运行,创建局部变量$var
,为其分配10
,然后返回它。然后整个范围被破坏,变量$var
不再存在。根本不能从Foo::bar
之外的代码更改它,因为当Foo::bar
之外的代码正在运行时它不存在。这根本就没有提到变量范围或封装......
你最有可能想要一个房产:
class Foo {
public $var = 10;
public function bar(){
return $this->var;
}
}
在大多数面向对象的情境中,公共财产本身并不是一个坏主意,但这是不同的鱼群,我不会在这里讨论。