Come posso impostare la versione di PHP in PHPStorm?


128

È possibile impostare il valore della versione di PHP, diciamo 4.0+ e avere funzioni di evidenziazione di PHPStorm che non funzionerebbero con la versione più vecchia? Ad esempio, per PHP4 questo dovrebbe evidenziare static functionecc. Ho un'installazione PHP sul mio PC ma non voglio installare una versione PHP precedente per ogni piccolo script che devo produrre.

Grazie


2
Perché dovrebbe evidenziare __construct()? È un identificatore di funzione perfettamente valido in PHP4, semplicemente non viene chiamato come costruttore.
Mchl

1
@Mchl, la funzione statica è ok?
Fluffy

statico era disponibile anche in PHP4 e IIRC. Provare abstracto utilizzare dei modificatori di visibilità public, protected, private. In ogni caso, scrivere codice OO che dovrebbe funzionare con PHP4 e PHP5 è un'attività IMO senza senso. Il modello a oggetti differisce troppo tra i due.
Mchl

@Mchl static $variableforse nostatic function
Fluffy

Può essere. Non ho lavorato con PHP4 OOP
Mchl

Risposte:


192

quindi, intendi evidenziare tutti i pezzi di codice che non funzioneranno con la versione di PHP in cui stai scrivendo, giusto? Questo può essere fatto qui:

Preferences -> Languages & Frameworks > PHP

O con le versioni più recenti di PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

inserisci qui la descrizione dell'immagine

quindi seleziona la tua versione di PHP, ad esempio 7.0

Questo è molto utile quando il tuo sistema locale esegue PHP 7.0, ad esempio, ma la produzione sta eseguendo PHP 5.5. In questo modo phpstorm ti avvertirà quali parti non funzioneranno in produzione.


1
Quale versione usi? Non ho questa opzione nella mia.
Fluffy

9
Possiamo farlo per progetto o è solo "globale"?
Ryanwinchester,

3
Per la versione corrente di PhpStorm: PhpStorm 2016.3.2. Dovrebbe essere File -> Settings -> Languages & Frameworks -> PHP.
Thor

1
È possibile impostarlo a livello globale, non di nuovo per ciascun progetto?
Fusca Software,

1
e non dimenticare, se hai un vecchio phpstrorm (per esempio 2018.x) non vedrai un 7.4 nel livello di linguaggio PHP !
Vladimir Ch

110

Nel caso in cui il tuo campo sia disabilitato.

Probabilmente le tue impostazioni "Sincronizza le impostazioni IDE con composer.json" sono abilitate

È possibile modificare la versione di PHP nel composer.jsonfile

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

OPPURE disabilitare le impostazioni in questo percorso

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

* Se cambi il tuo file composer.json - Come ha commentato Félix Gagnon-Grenier , tieni presente che ha effetti sul modo in cui i pacchetti saranno richiesti in seguito


4
Questa risposta non è molto precisa. Ciò cambierà il livello della lingua se (e solo se) l'opzione "Sincronizza con il compositore" è selezionata. Inoltre, ha effetti sul modo in cui i pacchetti saranno richiesti in seguito.
Félix Gagnon-Grenier,

3
Mi ha aiutato a capire perché la selezione del livello di lingua PHP era disabilitata.
sabato

2
Questo è stato davvero utile
Nixon Kosgei

3
Nel mio caso phpstorm stava cercando un altro compositore, quindi l'ho cambiato e il problema è stato risolto. Grazie!
Akmal,

13

Apri la finestra di dialogo Impostazioni selezionando File | Impostazioni , quindi fai clic su PHP in Lingue e frame . Si apre la pagina PHP.

Schermata delle impostazioni di PHP

Ora puoi fare 2 cose:

  1. Nella pagina PHP che si apre è possibile impostare il "Livello di lingua PHP".
  2. Puoi installare la versione di PHP che desideri localmente, ad esempio installando pacchetti come wamp o xamp e quindi impostare l'interprete del tuo PHP sulla pagina PHP che hai aperto. Maggiori informazioni qui

1
Riesci a vedere che sta impostando "Per il progetto corrente"? Come posso aggiornarlo per Global (tutti i progetti)?
Vuong

8

Puoi usare la risposta di Alejandro Moreno , ma a volte potresti non essere in grado di cambiare il livello di PHP dal menu a discesa chiuso.

È possibile disabilitare la casella di controllo "Sincronizza impostazioni IDE con composer.json" da:

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

E dopo aver applicato nuovamente aperto

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

Qui puoi cambiare il livello di PHP dal menu a discesa aperto.



2

Puoi impostarlo per progetto, come indicato da @Alejandro Moreno .

C'è anche un'impostazione globale, che ti consente di impostare il livello di lingua PHP per tutti i NUOVI progetti.

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

Qui puoi impostare il livello desiderato per tutti i progetti futuri :-)



1

La mia versione PHP del compositore è sincronizzata con phpstorm, quindi per scegliere esplicitamente il livello del linguaggio php dall'impostazione, controlla che l'opzione nella figura qui sotto sia disabilitata.

inserisci qui la descrizione dell'immagine


0

proprio come @mohammed la mia versione PHP del compositore è stata sincronizzata con il mio phpstorm. quindi tutto quello che ho fatto è stato aggiornare il mio numero di versione php composer.json e ha influenzato l'intero progetto.

non dimenticare di composer update e php artisan config:clear

buona programmazione!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.