好的,我有这个代码,我正在学习
class scope{
function printme(){
return "hello";
}
public static function printme(){
return "hello";
}
}
$s = new scope();
echo $s->printme(); //non-static call
echo "<br>";
echo scope::printme(); //static call
Run Code Online (Sandbox Code Playgroud)
现在,这不是我项目的代码,但这些是我想要做的事情
由于非静态函数对它有很多操作,我还需要将其称为静态函数,这样我就不需要实例化该类.这可能吗?或者我真的需要将函数重写为另一个函数或类?
注意:告诉我,我是否已经做了一些糟糕的编程.
如果很少需要类的实例,则可以使用静态方法创建实例,调用非静态方法并返回值.
class Scope {
public function mynonstatic() {
}
public static function mystatic() {
$s = new Scope();
return $s->mynonstatic();
}
}
Run Code Online (Sandbox Code Playgroud)
请记住,静态方法实际上只是一个范围缩小的全局函数.它们很有用,但不应该在没有充分理由的情况下创建它们.
| 归档时间: |
|
| 查看次数: |
15818 次 |
| 最近记录: |