我有两个PHP类,想要做这样的事情:
class Class1
{
$x=3;
coolFunction($x);
}
class Class2
{
$y = 7;
coolFunction($y);
}
我尝试过:
public function coolFunction($z)
{
$youGetTheIdea = 10;
return $z + $youGetTheIdea;
}
但PHP并不喜欢这样,而且我现在处于亏损状态。如何使这两个类都可以访问该函数,或者有没有办法做类似的事情?我来自Python背景,所以你能做些什么来阐明我对PHP的理解会很棒。
答案 0 :(得分:4)
您可以使用trait。
trait TraitCoolFunction {
private function coolFunction($z) {
$youGettheIdea = 10;
return $z + $youGetTheIdea;
}
}
使用:
class Class1 {
use TraitCoolFunction;
/* other stuff here */
}
需要PHP 5.4或更高版本。
答案 1 :(得分:1)
您只能为类方法指定public
或private
。类外的普通函数仅用function
:
function coolFunction($z)
{
$youGetTheIdea = 10;
return $z + $youGetTheIdea;
}