J'ai vu cet exemple de php.net:Comment accéder à la constante définie dans la classe enfant à partir des fonctions de la classe parent?
<?php
class MyClass {
const MY_CONST = "yonder";
public function __construct() {
$c = get_class($this);
echo $c::MY_CONST;
}
}
class ChildClass extends MyClass {
const MY_CONST = "bar";
}
$x = new ChildClass(); // prints 'bar'
$y = new MyClass(); // prints 'yonder'
?>
Mais $ c :: MY_CONST n'est reconnu dans la version 5.3.0 ou ultérieure. La classe que j'écris peut être distribuée beaucoup.
Fondamentalement, j'ai défini une constante dans ChildClass et l'une des fonctions de MyClass (classe père) doit utiliser la constante. Une idée?
Je ne comprends pas pourquoi les gens se plongent dans la POO dans d'autres réponses. Votre solution est la seule correcte et beaucoup plus simple –
Il y a quelque chose qui ne va pas dans l'accès à 'const' en utilisant le mot clé' static'. Pourriez-vous expliquer pourquoi cela fonctionne? PHP Docs m'a aussi troublé. Merci. – pavlindrom
Ou 'self :: MY_CONST' – checksum