161 votes

Comment puis-je définir la version de PHP dans PHPStorm ?

Est-il possible de définir la valeur de la version PHP, disons 4.0+ et de faire en sorte que PHPStorm surligne les fonctions qui ne fonctionneraient pas avec la version la plus ancienne ? Par exemple, pour PHP4, cela devrait surligner fonction statique, etc. J'ai une installation PHP sur mon PC mais je ne veux pas installer une ancienne version de PHP pour chaque petit script que je dois produire.

Merci

2 votes

Pourquoi surligner __construct()? C'est un identifiant de fonction parfaitement valide en PHP4, il n'est simplement pas appelé en tant que constructeur.

1 votes

@Mchl, est-ce que la fonction statique est ok?

0 votes

Static était également disponible en PHP4 si je me souviens bien. Essayez abstract ou utilisez des modificateurs de visibilité public, protected, private. Quoi qu'il en soit, écrire du code OO censé fonctionner sous PHP4 ainsi que sous PHP5 est une tâche absurde à mon avis. Le modèle d'objet diffère trop entre les deux.

261voto

Alejandro Moreno Points 319

Alors, tu veux mettre en évidence toutes les parties du code qui ne fonctionneront pas avec la version de PHP dans laquelle tu l'écris, c'est bien ça ? Cela peut être fait ici :

Préférences -> Langages & Frameworks > PHP

et la même chose sur Mac :

PhpStorm -> Préférences (⌘,) -> Langages & Frameworks > PHP

Ou avec les nouvelles versions de PhpStorm sur Windows :

Fichier -> Paramètres -> Langages & Frameworks > PHP

Boîte de dialogue d'exemple pour les préférences mentionnées

ensuite, sélectionnez votre version de PHP, par exemple, 7.0

C'est très utile lorsque votre système local exécute PHP 7.0, par exemple, mais que la production est en cours d'exécution sous PHP 5.5.

Ainsi, PhpStorm vous préviendra des parties qui ne fonctionneront pas en production, affichera des indications appropriées pendant l'écriture du code en fonction de la version sélectionnée, etc.

126voto

Shay Altman Points 824

Si votre champ est désactivé.

Probablement vos paramètres "Synchroniser les paramètres de l'IDE avec composer.json" sont activés

Vous pouvez changer votre version de PHP dans le fichier composer.json

"require": {
    "php": ">=7.1.0",
}

OU désactivez vos paramètres dans ce chemin

Fichier -> Paramètres -> Langages et Frameworks > PHP > Composer

*Si vous modifiez votre fichier composer.json - Comme Félix Gagnon-Grenier a commenté, Gardez à l'esprit que cela a des effets sur la manière dont les packages seront requis ultérieurement

24voto

boolfalse Points 1016

Vous pouvez utiliser la réponse d'Alejandro Moreno, mais parfois vous pourriez ne pas pouvoir changer le niveau PHP à partir de la liste déroulante fermée.

Vous pouvez désactiver la case à cocher "Synchroniser les paramètres de l'IDE avec composer.json" depuis:

Fichier -> Paramètres -> Langages & Frameworks -> PHP -> Composer

Et après avoir appliqué à nouveau, ouvrez

Fichier -> Paramètres -> Langages & Frameworks -> PHP

Vous pouvez alors modifier le niveau PHP depuis la liste déroulante ouverte.

22voto

Salar Points 2553

Ouvrez la boîte de dialogue Paramètres en choisissant Fichier | Paramètres, puis cliquez sur PHP sous Langages et frameworks. La page PHP s'ouvre.

Capture d'écran des paramètres PHP

Maintenant, vous pouvez faire 2 choses :

  1. Sur la page PHP qui s'ouvre, vous pouvez définir le "Niveau de langage PHP".
  2. Vous pouvez installer localement la version de PHP que vous souhaitez, par exemple, en installant des packages comme Wamp ou Xamp, puis définir l'interpréteur de votre PHP sur la page PHP que vous avez ouverte. Plus d'informations ici

5voto

Ma version PHP de composer est synchronisée avec PHPStorm, donc pour choisir explicitement le niveau de langage PHP depuis les paramètres, vérifiez que l'option dans l'image ci-dessous est désactivée.

entrer la description de l'image ici

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