Jak mogę ustawić wersję PHP w PHPStorm?


131

Czy można ustawić wartość wersji PHP, powiedzmy 4.0+ i mieć funkcje podświetlania PHPStorm, które nie działałyby z najstarszą wersją? Na przykład, dla PHP4 powinno to podświetlić static functionitp. Mam instalację PHP na moim komputerze, ale nie chcę instalować starszej wersji PHP dla każdego małego skryptu, który muszę wyprodukować.

Dzięki


2
Dlaczego miałoby to podkreślać __construct()? Jest to całkowicie poprawny identyfikator funkcji w PHP4, po prostu nie jest nazywany konstruktorem.
Mchl

1
@Mchl, czy funkcja statyczna jest w porządku?
Fluffy

static był dostępny w PHP4, a także IIRC. Spróbuj abstractlub użyć modyfikatorów widoczności public, protected, private. W każdym razie, pisanie kodu OO, który ma działać zarówno pod PHP4, jak i PHP5, jest bezsensownym zadaniem IMO. Model obiektowy różni się zbytnio między nimi.
Mchl

@Mchl static $variablebyć może niestatic function
Fluffy

Może. Nie pracowałem z PHP4 OOP
Mchl

Odpowiedzi:


200

Więc masz na myśli wyróżnienie wszystkich fragmentów kodu, które nie będą działać z wersją PHP, w której go piszesz, prawda? Można to zrobić tutaj:

Preferences- Languages & Frameworks>>PHP

i to samo na Macu:

PhpStorm -> Preferences (⌘,)- Languages & Frameworks>>PHP

Lub z nowszymi wersjami PhpStorm w Windows:

File-> Settings- Languages & Frameworks>>PHP

Przykładowe okno dialogowe dla wymienionych preferencji

następnie wybierz swoją wersję PHP, na przykład 7.0

Jest to bardzo przydatne, gdy PHP 7.0na przykład działa system lokalny , ale trwa produkcja PHP 5.5.

W ten sposób PhpStorm ostrzeże Cię, które części nie będą działać na produkcji, pokaże odpowiednie podpowiedzi podczas pisania kodu zgodnie z wybraną wersją itp.


1
Jakiej wersji używasz? Nie mam takiej opcji w mojej.
Fluffy

Przepraszam, powinienem był to określić: 7.1.3
Alejandro Moreno

9
Czy możemy to zrobić dla każdego projektu, czy jest to tylko „globalne”?
ryanwinchester

4
Dla bieżącej wersji PhpStorm: PhpStorm 2016.3.2. Tak powinno być File -> Settings -> Languages & Frameworks -> PHP.
thoroc

1
i nie zapominaj, jeśli masz stary phpstrorm (na przykład 2018.x), nie zobaczysz poziomu 7.4 w języku PHP !
Vladimir Ch

110

W przypadku, gdy twoje pole jest wyłączone.

Prawdopodobnie twoje ustawienia "Synchronizuj ustawienia IDE z composer.json" są włączone

Możesz zmienić swoją wersję PHP w composer.jsonpliku

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

LUB wyłącz ustawienia w tej ścieżce

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

* Jeśli zmienisz plik composer.json - jak skomentował Félix Gagnon-Grenier , pamiętaj, że ma to wpływ na sposób, w jaki pakiety będą wymagane później


4
Ta odpowiedź nie jest prawdziwa. Spowoduje to zmianę poziomu języka, jeśli (i tylko wtedy) jest zaznaczona opcja „synchronizuj z kompozytorem”. Co więcej, ma wpływ na sposób, w jaki pakiety będą wymagane później.
Félix Gagnon-Grenier

3
Pomogło mi to zrozumieć, dlaczego wybór poziomu języka PHP został wyłączony.
sglessard

2
To było naprawdę pomocne
Nixon Kosgei

3
W moim przypadku phpstorm szukał innego pliku composer.json, więc go zmieniłem i problem został rozwiązany. Dzięki!
Akmal

14

Otwórz okno dialogowe Ustawienia, wybierając Plik | Ustawienia , a następnie kliknij PHP w obszarze Języki i struktury . Otworzy się strona PHP.

Zrzut ekranu ustawień PHP

Teraz możesz zrobić 2 rzeczy:

  1. Na otwartej stronie PHP możesz ustawić "Poziom języka PHP".
  2. Możesz zainstalować żądaną wersję PHP lokalnie, na przykład instalując pakiety takie jak wamp lub xamp, a następnie ustawić interpreter swojego PHP na otwartej stronie PHP. Więcej informacji tutaj

1
Czy widzisz, że jest to ustawienie „Dla bieżącego projektu”? Jak mogę zaktualizować go dla Global (wszystkie projekty)?
Vuong

9

Możesz użyć odpowiedzi Alejandro Moreno , ale czasami możesz nie być w stanie zmienić poziomu PHP z zamkniętego menu.

Możesz wyłączyć pole wyboru „Synchronizuj ustawienia IDE z composer.json” z:

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

A po zastosowaniu ponownie otwórz

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

Tutaj możesz zmienić poziom PHP z otwartego menu.


3

Możesz to ustawić dla każdego projektu, zgodnie z opisem @Alejandro Moreno .

Istnieje również ustawienie globalne, które pozwala ustawić poziom języka PHP dla wszystkich NOWYCH projektów.

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

Tutaj możesz ustawić żądany poziom dla wszystkich przyszłych projektów :-)




1

Wersja PHP mojego kompozytora jest zsynchronizowana z phpstormem, więc aby jawnie wybrać poziom języka php z ustawienia, sprawdź , czy opcja na poniższym obrazku jest wyłączona.

wprowadź opis obrazu tutaj


0

tak jak @mohammed moja wersja PHP kompozytora została zsynchronizowana z moim phpstormem. więc wszystko, co zrobiłem, to zaktualizowanie numeru wersji php w pliku composer.json i wpłynęło to na cały projekt.

nie zapomnij composer update i php artisan config:clear

miłego kodowania!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.