使用定义here
的类作为示例class Testclass {
private $testvar = "default value";
public function setTestvar($testvar) {
$this->testvar = $testvar;
}
public function getTestvar() {
return $this->testvar;
}
function dosomething()
{
echo $this->getTestvar();
}
}
$Testclass = new Testclass();
$Testclass->setTestvar("another value");
$Testclass->dosomething();
我想在函数中添加“一个更多的值”,如下所示:
function test_function() {
$Testclass->setTestvar("one more value");
}
但它不起作用。我给出了错误消息undefined变量Testclass。为了使它工作,我必须在函数中将变量定义为全局变量,如下所示:
function test_function() {
global Testclass;
$Testclass->setTestvar("one more value");
}
我对PHP很陌生,但这种使用它的方式对我来说似乎很奇怪。从已经定义的主要PHP文件,但是当我从函数中使用它时,我必须再次定义。基本上我要做的是创建一个创建新文件的类,并从不同的函数添加字符串。有没有更好的方法?有什么建议?提前谢谢了。
答案 0 :(得分:0)
一种方法是使用单身
MyClass的::的getInstance() - > doSomethingUsefull();
有时您可以使用静态方法
MyClass的:: doIt方法();
答案 1 :(得分:0)
函数有自己的私有变量范围。所以(例如)你可以在一个函数中使用$i
,而不用担心它会在程序的其他地方搞砸另一个$i
。如果要让函数对已存在的对象执行操作,只需将对象作为参数传递给函数:
function test_function(Testclass $testclass)
{
$testclass->setTestvar("one more value");
}
然后用你的对象调用它:
$Testclass = new Testclass();
test_function($Testclass);
注意:如果您在类外定义的函数与类紧密相关,那么您可能希望将它们定义为类中的方法而不是单独的独立函数。