如何静态调用方法?
<?php
class Popular
{
public static function getVideo()
{
return $this->parsing();
}
}
class Video
extends Popular
{
public static function parsing()
{
return 'trololo';
}
public static function block()
{
return parent::getVideo();
}
}
echo Video::block();
我应该这样称呼班级:
Video::block();
而不是初始化它
$video = new Video();
echo $video->block()
不是这个!
Video::block(); // Only this way <<
但是:致命错误:在第6行的myFile.php中的对象上下文中不使用$ this
如何从“热门”类调用函数“解析”?
Soooooooory糟糕的英语
当你使用静态方法时,你不能使用$this关键字,因为它只能在对象中使用,而不能在类中使用。
当你使用new关键字,你创建和从一个类的对象 ,如果你还没有使用新的关键字,那么$this将不可用,因为它不是一个对象
为了让你的代码工作,静态的,你必须使用static keyowrd和Scope Resolution Operator (::)因为你的方法在父类中,而且它没有界限,使用static关键字来调用父类的静态方法。
例:
class Popular
{
public static function getVideo()
{
return static::parsing(); //Here
}
}
改变return $this->parsing(); return self::parsing();
