Pas de transtypage dans les expressions constantes
<?php
class x {
const string A = '42';
const int B = +self::A;
// This, below, is a compile error
const int C = (int) self::A;
}
Les expressions constantes n’acceptent pas l’opérateur de transtypage.
Les expressions constantes sont des expressions qui définissent des constantes et des valeurs par défaut. Elles autorisent un sous-ensemble des fonctionnalités PHP, car elles sont disponibles avant la phase d’exécution. Par exemple, elles acceptent des opérateurs tels que l’addition et la concaténation. En revanche, elles n’acceptent pas les opérateurs de transtypage, même s’ils peuvent être émulés d’une autre manière. Ici, l’opérateur + crée l’entier à partir d’une autre chaîne.
See Also
PHP Error Messages
PHP Features
Last updated: 11 October 2026