Je souhaite remplacer une méthode statique par une méthode non statique. Je reçois cette erreur:Remplacer une méthode statique par une méthode non statique
Fatal error: Cannot make static method Person::say() non static in class Coder on line 22
Je veux remplacer une méthode statique parent classes makeCall()
avec un makeCall()
plus spécifique qui serait non-statique.
code:
<?php
class Request {
public static function makeCall($url) {
// Do some cURL stuff...
}
}
class API {
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);
}
}
je pouvais faire le parent makeCall()
non statique, mais je veux aussi pouvoir Request:makeCall()
dans certains endroits.
le renommer? il n'y a pas d'autre option. – bwoebi
vous ne pouvez pas faire comme l'erreur vous le dit. vous devrez utiliser un nom de méthode différent. – prodigitalson
Oh, donc j'ai juste besoin de faire 'public function fooMakeCall()'. @bwoebi –