Wie kann ich die PHP-Version in PHPStorm einstellen?


128

Ist es möglich, den PHP-Versionswert festzulegen, z. B. 4.0+, und PHPStorm-Hervorhebungsfunktionen zu verwenden, die mit der ältesten Version nicht funktionieren würden? Für PHP4 sollte dies beispielsweise hervorheben static functionusw. Ich habe eine PHP-Installation auf meinem PC, möchte aber nicht für jedes kleine Skript, das ich erstellen muss, eine ältere PHP-Version installieren.

Vielen Dank


2
Warum sollte es hervorheben __construct()? Es ist eine vollkommen gültige Funktionskennung in PHP4, es wird einfach nicht als Konstruktor aufgerufen.
Mchl

1
@Mchl, ist die statische Funktion in Ordnung?
Fluffy

statisch war auch in PHP4 IIRC verfügbar. Versuchen abstractoder Verwendung Sichtbarkeitsmodifizierer public, protected, private. Wie auch immer, das Schreiben von OO-Code, der sowohl unter PHP4 als auch unter PHP5 funktionieren soll, ist eine unsinnige Aufgabe, IMO. Das Objektmodell unterscheidet sich zu stark zwischen den beiden.
Mchl

@Mchl static $variablevielleicht nichtstatic function
Fluffy

Vielleicht. Ich habe nicht mit PHP4 OOP
Mchl

Antworten:


192

Sie möchten also alle Codeteile hervorheben, die mit der PHP-Version, in der Sie sie schreiben, nicht funktionieren, oder? Das kann hier gemacht werden:

Preferences -> Languages & Frameworks > PHP

Oder mit neueren Versionen von PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

Geben Sie hier die Bildbeschreibung ein

Wählen Sie dann Ihre PHP-Version aus, z. B. 7.0

Dies ist sehr nützlich, wenn auf Ihrem lokalen System beispielsweise PHP 7.0 ausgeführt wird, in der Produktion jedoch PHP 5.5 ausgeführt wird. Auf diese Weise warnt Sie phpstorm, welche Teile in der Produktion nicht funktionieren.


1
Welche Version benutzt du? Ich habe diese Option nicht in meiner.
Fluffy

9
Können wir das pro Projekt machen oder ist das nur "global"?
Ryanwinchester

3
Für die aktuelle Version von PhpStorm : PhpStorm 2016.3.2. Es sollte sein File -> Settings -> Languages & Frameworks -> PHP.
Thoroc

1
Ist es möglich, es global festzulegen, nicht für jedes Projekt erneut?
Fusca Software

1
und vergessen Sie nicht, wenn Sie einen alten PHP-Sturm haben (zum Beispiel 2018.x), werden Sie keine 7.4 in PHP-Sprachstufe sehen !
Vladimir Ch

110

Falls Ihr Feld deaktiviert ist.

Wahrscheinlich ist Ihre Einstellung "IDE-Einstellungen mit composer.json synchronisieren" aktiviert

Sie können Ihre PHP-Version in der composer.jsonDatei ändern

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

ODER deaktivieren Sie Ihre Einstellungen in diesem Pfad

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

* Wenn Sie die Datei composer.json ändern - Wie Félix Gagnon-Grenier kommentierte, hat dies Auswirkungen auf die Art und Weise, wie Pakete später benötigt werden


4
Diese Antwort ist nicht wirklich richtig. Dadurch wird das Sprachniveau geändert, wenn (und nur wenn) die Option "Mit Komponist synchronisieren" aktiviert ist. Darüber hinaus hat dies Auswirkungen auf die Art und Weise, wie Pakete später benötigt werden.
Félix Gagnon-Grenier

3
Es half mir zu verstehen, warum die Auswahl der PHP-Sprachstufe deaktiviert war.
Sglessard

2
Dies war wirklich hilfreich
Nixon Kosgei

3
In meinem Fall suchte phpstorm nach einem anderen composer.json, also änderte ich es und das Problem wurde gelöst. Vielen Dank!
Akmal

13

Öffnen Sie das Dialogfeld Einstellungen, indem Sie Datei | wählen Einstellungen , und klicken Sie dann unter Languages ​​& Frameworks auf PHP . Die PHP-Seite wird geöffnet.

Screenshot der PHP-Einstellungen

Jetzt können Sie zwei Dinge tun:

  1. Auf der sich öffnenden PHP-Seite können Sie die "PHP-Sprachstufe" einstellen.
  2. Sie können die gewünschte PHP-Version lokal installieren, indem Sie beispielsweise Pakete wie wamp oder xamp installieren und dann den Interpreter Ihres PHP auf der von Ihnen geöffneten PHP-Seite festlegen. Mehr Infos hier

1
Könnten Sie sehen, dass "Für aktuelles Projekt" eingestellt ist? Wie kann ich es für Global (alle Projekte) aktualisieren?
Vuong

7

Sie können die Antwort von Alejandro Moreno verwenden , aber manchmal können Sie die PHP-Stufe möglicherweise nicht aus der geschlossenen Dropdown-Liste heraus ändern.

Sie können das Kontrollkästchen "IDE-Einstellungen mit composer.json synchronisieren" über Folgendes deaktivieren:

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

Und nach der Bewerbung wieder öffnen

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

Hier können Sie die PHP-Stufe aus der geöffneten Dropdown-Liste ändern.



2

Sie können dies pro Projekt festlegen , wie von @Alejandro Moreno beschrieben .

Es gibt auch eine globale Einstellung, mit der Sie die PHP-Sprachstufe für alle NEUEN Projekte festlegen können .

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

Hier können Sie das gewünschte Level für alle zukünftigen Projekte einstellen :-)



1

Meine Composer-PHP-Version ist mit dem PHP-Storm synchronisiert. Um die PHP-Sprachstufe explizit aus der Einstellung auszuwählen, überprüfen Sie, ob die Option im Bild unten deaktiviert ist.

Geben Sie hier die Bildbeschreibung ein


0

Genau wie bei @mohammed wurde meine Composer-PHP-Version mit meinem PHP-Storm synchronisiert. Alles, was ich getan habe, war, die Versionsnummer meiner composer.json-PHP zu aktualisieren, und das hat das gesamte Projekt beeinflusst.

vergiss nicht composer update und php artisan config:clear

Viel Spaß beim Codieren!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.