J'essaie de faire quelque chose comme ça mais je n'y arrive pas.PHP: méthodes statiques abstraites polymorphes
abstract class Animal
{
abstract static function getName();
static function sayName() { echo self::getName(); }
}
merci!
J'essaie de faire quelque chose comme ça mais je n'y arrive pas.PHP: méthodes statiques abstraites polymorphes
abstract class Animal
{
abstract static function getName();
static function sayName() { echo self::getName(); }
}
merci!
Il aurait été bien si vous auriez donné une indication quant à la façon dont vous « ne réussissons pas », mais je suppose que vous tomber sur les liaisons statiques et doivent utiliser late static bindings introduit en PHP 5.3.
Je suppose peut-être que vous essayez d'instancier un objet de cette classe.
Vous ne pouvez pas . C'est une classe abstract
. Sous-classe, puis instancier cela.
qui ne succeed- vous ne pouvez pas avoir une fonction statique abstraite. Voir la réponse acceptée Why does PHP 5.2+ disallow abstract static class methods? pour plus de détails sur pourquoi.
Vous avez deux problèmes:
Comment êtes-vous ne pas réussir? – alex