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

128

Est-il possible de définir la valeur de la version PHP, disons 4.0+ et d'avoir des fonctions de mise en évidence PHPStorm qui ne fonctionneraient pas avec la version la plus ancienne? Par exemple, pour PHP4 cela devrait mettre en évidence static functionetc. J'ai une installation PHP sur mon PC mais je ne veux pas installer une version plus ancienne de PHP pour chaque petit script que je dois produire.

Merci

Duveteux
la source
2
Pourquoi mettrait-il en évidence __construct()? C'est un identifiant de fonction parfaitement valide en PHP4, il n'est tout simplement pas appelé en tant que constructeur.
Mchl
1
@Mchl, la fonction statique est-elle correcte?
Fluffy
static était également disponible en PHP4 dans IIRC. Essayez abstractou utiliser des modificateurs de visibilité public, protected, private. Quoi qu'il en soit, écrire du code OO censé fonctionner sous PHP4 ainsi que PHP5 est une tâche absurde IMO. Le modèle objet diffère trop entre les deux.
Mchl
@Mchl static $variablepeut-être, passtatic function
Fluffy
Peut être. Je n'ai pas travaillé avec PHP4 OOP
Mchl

Réponses:

192

Donc, vous voulez mettre en évidence tous les morceaux de code qui ne fonctionneront pas avec la version PHP dans laquelle vous l'écrivez, non? Cela peut être fait ici:

Preferences -> Languages & Frameworks > PHP

Ou avec les nouvelles versions de PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

entrez la description de l'image ici

puis sélectionnez votre version PHP, par exemple, 7.0

Ceci est très utile lorsque votre système local exécute PHP 7.0, par exemple, mais que la production exécute PHP 5.5. De cette façon, phpstorm vous avertira quelles parties ne fonctionneront pas en production.

Alejandro Moreno
la source
1
Quelle version utilise-tu? Je n'ai pas cette option dans la mienne.
Fluffy
9
Pouvons-nous faire cela par projet ou est-ce seulement «global»?
ryanwinchester le
3
Pour la version actuelle de PhpStorm: PhpStorm 2016.3.2. Ça devrait être File -> Settings -> Languages & Frameworks -> PHP.
thoroc
1
Est-il possible de le définir globalement, pas à nouveau pour chaque projet?
Fusca Software
1
et n'oubliez pas, si vous avez l'ancien phpstrorm (par exemple 2018.x), vous ne verrez pas un 7.4 au niveau du langage PHP !
Vladimir Ch le
110

Au cas où votre champ est désactivé.

Vos paramètres "Synchroniser les paramètres IDE avec composer.json" sont probablement activés

Vous pouvez changer votre version PHP dans le composer.jsonfichier

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

OU désactivez vos paramètres dans ce chemin

File -> Settings -> Languages & Frameworks > PHP > Composer

* Si vous modifiez votre fichier composer.json - Comme l'a commenté Félix Gagnon-Grenier , gardez à l'esprit que cela a des effets sur la façon dont les paquets seront requis plus tard

Shay Altman
la source
4
Cette réponse n'est pas vraiment exacte. Cela changera le niveau de langue si (et seulement si) l'option "synchroniser avec le composeur" est cochée. De plus, cela a des effets sur la façon dont les paquets seront requis plus tard.
Félix Gagnon-Grenier
3
Cela m'a aidé à comprendre pourquoi la sélection du niveau de langage PHP était désactivée.
sglessard
2
Cela a été vraiment utile
Nixon Kosgei
3
Dans mon cas, phpstorm recherchait un autre composer.json, donc je l'ai changé et le problème a été résolu. Merci!
Akmal
13

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

Capture d'écran des paramètres PHP

Vous pouvez maintenant faire 2 choses:

  1. Sur la page PHP qui s'ouvre, vous pouvez définir le "Niveau de langage PHP".
  2. Vous pouvez installer la version PHP que vous souhaitez localement, par exemple en installant des packages comme wamp ou xamp puis en définissant l'interpréteur de votre PHP sur la page PHP que vous avez ouverte. Plus d'infos ici
Salar
la source
1
Pouvez-vous voir que le paramètre «Pour le projet actuel»? Comment puis-je le mettre à jour pour Global (tous les projets)?
Vuong
8

Vous pouvez utiliser la réponse d'Alejandro Moreno , mais parfois vous ne pourrez peut-être pas changer le niveau PHP à partir du menu déroulant fermé.

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

File-> Setting-> Languages & Frameworks-> PHP->Composer

Et après avoir appliqué à nouveau ouvert

File-> Settings-> Languages & Frameworks->PHP

Ici, vous pouvez changer le niveau PHP à partir du menu déroulant ouvert.

boolfalse
la source
2

Sur Mac, c'est sous PHPStorm, Préférences, Langages & Frameworks, PHP

entrez la description de l'image ici

Assistance CFP
la source
2

Vous pouvez définir cela par projet, comme indiqué par @Alejandro Moreno .

Il existe également un paramètre global, qui vous permet de définir le niveau de langage PHP pour tous les NOUVEAUX projets.

File-> Preferences for New Projects-> Languages & Frameworks->PHP

Ici, vous pouvez définir le niveau souhaité pour tous les projets futurs :-)

MrG
la source
1

en photo ..........................

DANS

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

des1roer
la source
1

Ma version PHP du compositeur est synchronisée avec le phpstorm, donc pour choisir explicitement le niveau de langue php dans le paramètre, vérifiez que l'option dans l'image ci-dessous est désactivée.

entrez la description de l'image ici

Mohammed Yassine CHABLI
la source
0

tout comme @mohammed, ma version PHP du compositeur a été synchronisée avec mon phpstorm. donc tout ce que j'ai fait était de mettre à jour mon numéro de version php composer.json et cela a affecté l'ensemble du projet.

n'oubliez pas composer update et php artisan config:clear

bon codage!

Le mec mort
la source