Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Les constantes peuvent être impossibles

<?php

enum x : string {
    case B = 'b';
    const C = 'c';
}

class x2 {
    const E = x::B->value;
    const F = x::C + [];
}

echo x2::E;

Dans ce code, la constante x2::F est impossible, car l’addition d’une chaîne et d’un tableau provoque une erreur fatale.

Pourtant, cela n’est déterminé qu’à l’exécution, et uniquement lorsque la constante est utilisée.

Comme cette constante n’est jamais utilisée, son code n’est jamais exécuté, et elle ne génère aucune erreur. PHP a optimisé l’erreur en la supprimant.

See Also

PHP Features

Last updated: 11 October 2026