静的メソッドを非静的メソッドで上書きしたい。次のエラーが表示されます。
Fatal error: Cannot make static method Person::say() non static in class Coder on line 22
makeCall()
クラスの親静的メソッドを、静的ではないより具体的なメソッドで上書きしたいと考えていますmakeCall()
。
コード:
<?php
class Request {
public static function makeCall($url) {
// Do some cURL stuff...
}
}
class API extends Request {
const PRODUCTS = '/products';
private $api;
public function __construct($api) {
$this->api = $api;
}
public function getProducts() {
$this->makeCall(self::PRODUCTS);
}
public function makeCall($service) {
parent::makeCall($this->api . $service);
}
}
親をmakeCall()
非静的にすることもできますがRequest:makeCall()
、いくつかの場所でできるようにしたいです。