理论上,调用构造函数需要实例化函数,所以平时调用静态方法是没有实例化函数,没法直接调用构造函数。
可以换一种思路,在静态方法中再次实例化本类就可以直接调用静态函数中的方法了。
class TemplateService {
private $order_id = 0;
public function __construct($order_id){
$this->order_id = $order_id;
}
public static function payNotice( $order_id = 0){
//实例化本类
$s = new TemplateService($order_id);
//调用构造函数中的属性
return $s->order_id;
}
}
//使用
$res = TemplateService::payNotice(141);
var_dump($s->order_id);
141