80 votes

Les interfaces PHP ont-elles des propriétés ?

Les interfaces en PHP ont-elles des propriétés, ou n'ont-elles que des méthodes ?

38voto

Josef Sábl Points 2663

Vous pouvez déclarer des propriétés dans DocBlock pour l'interface. Les IDE indiqueront alors ces propriétés pour l'interface (PhpStorm le fait), mais cela ne forcera pas l'implémentation effective de ces champs dans la classe d'implémentation. E. ex.

/**
 * @property string $password
 * @property string $username
 */
interface IUserDocument
{


}

19voto

John Flatness Points 14473

Les interfaces PHP peuvent avoir des constantes, mais pas des propriétés (variables d'instance). Si vous n'avez pas besoin de modifier votre "propriété", vous pouvez utiliser une constante à la place.

2voto

BoltClock Points 249668

En PHP, les interfaces ne peuvent avoir que des méthodes publiques abstraites. Pas de constructeur, pas de méthodes concrètes, pas de propriétés (terme de PHP par exemple/variables statiques).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X