Je suis en train de migrer mon site Web de PHP5 vers PHP7 et j'ai commencé à utiliser la fonctionnalité de saisie stricte qui a été ajoutée. Cependant, cela nécessite que je commence tous les fichiers avec la ligne suivante:
<?php declare(strict_types=1);
// All other code here
// ...
Alors je me demandais, est-il possible d'activer strict_types
globalement en utilisant quelque chose comme php.ini
ou le fichier de configuration Apache afin que je n'ai pas à écrire cette ligne à chaque fois, et si oui comment puis-je l'activer?
Ceci est délibérément impossible, car l’implémentation adoptée après une discussion extrêmement longue d’indications de type scalaire était la suivante: https://wiki.php.net/rfc/scalar_type_hints_v5
Il donne explicitement le choix de la manière dont les types scalaires sont vérifiés à l'appelant de n'importe quelle fonction, et non de son auteur, de sorte que:
C'est donc à vous de dire à PHP quels fichiers ont été écrits pour utiliser le mode de type strict, et ceux qui ne l'ont pas encore été; Pour ce faire, utilisez l'instruction declare
.
Essentiellement non.
Parce que si vous n’avez besoin que de bibliothèques qui utilisaient le mode strict, vous provoquerez une séparation inutile des paquets.