¿Cómo puedo configurar la versión de PHP en PHPStorm?

128

¿Es posible establecer el valor de la versión de PHP, digamos 4.0+ y tener funciones destacadas de PHPStorm que no funcionarían con la versión más antigua? Por ejemplo, para PHP4, esto debería resaltar, static functionetc. Tengo una instalación de PHP en mi PC, pero no quiero instalar una versión anterior de PHP para cada script pequeño que tengo que producir.

Gracias

Mullido
fuente
2
¿Por qué destacaría __construct()? Es un identificador de función perfectamente válido en PHP4, simplemente no se llama como constructor.
Mchl
1
@Mchl, ¿está bien la función estática?
Fluffy
static estaba disponible en PHP4 también en IIRC. Tratar abstracto el uso de modificadores de visibilidad public, protected, private. De todos modos, escribir código OO que se supone que funciona tanto en PHP4 como en PHP5 es una tarea sin sentido IMO. El modelo de objeto difiere demasiado entre los dos.
Mchl
@Mchl static $variablequizás, nostatic function
Fluffy
Tal vez. No
trabajé

Respuestas:

192

entonces, quieres resaltar todas las piezas de código que no funcionarán con la versión PHP en la que lo estás escribiendo, ¿verdad? Eso se puede hacer aquí:

Preferences -> Languages & Frameworks > PHP

O con versiones más recientes de PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

ingrese la descripción de la imagen aquí

luego seleccione su versión de PHP, por ejemplo, 7.0

Esto es muy útil cuando su sistema local ejecuta PHP 7.0, por ejemplo, pero la producción ejecuta PHP 5.5. De esta forma, phpstorm le advertirá qué partes no funcionarán en la producción.

Alejandro Moreno
fuente
1
Que versión usas? No tengo esa opción en la mía.
Fluffy
9
¿Podemos hacer esto por proyecto o es solo "global"?
ryanwinchester
3
Para la versión actual de PhpStorm: PhpStorm 2016.3.2. Debería ser File -> Settings -> Languages & Frameworks -> PHP.
thoroc
1
¿Es posible configurarlo globalmente, no de nuevo para cada proyecto?
Fusca Software
1
y no olvides que si tienes phpstrorm viejo (por ejemplo 2018.x) ¡no verás un nivel 7.4 en lenguaje PHP !
Vladimir Ch
110

En caso de que su campo esté deshabilitado.

Probablemente su configuración "Sincronizar configuración IDE con composer.json" esté habilitada

Puede cambiar su versión de PHP en el composer.jsonarchivo

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

O deshabilite su configuración en esta ruta

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

* Si cambia su archivo composer.json: como comentó Félix Gagnon-Grenier , tenga en cuenta que tiene efectos sobre la forma en que se requerirán los paquetes más adelante

Shay Altman
fuente
44
Esta respuesta no es realmente precisa. Hacer eso cambiará el nivel de idioma si (y solo si) la opción "sincronizar con el compositor" está marcada. Además, tiene efectos sobre la forma en que se requerirán los paquetes más adelante.
Félix Gagnon-Grenier
3
Me ayudó a entender por qué la selección del nivel de lenguaje PHP estaba deshabilitada.
sglessard
2
Esto fue realmente útil
Nixon Kosgei
3
En mi caso, phpstorm estaba buscando otro compositor.json, así que lo cambié y el problema se resolvió. ¡Gracias!
Akmal
13

Abra el cuadro de diálogo Configuración seleccionando Archivo | Configuración , luego haga clic en PHP en Idiomas y marcos . Se abre la página PHP.

Captura de pantalla de la configuración de PHP

Ahora puedes hacer 2 cosas:

  1. En la página PHP que se abre, puede establecer el "Nivel de lenguaje PHP".
  2. Puede instalar la versión de PHP que desee localmente, por ejemplo, instalando paquetes como wamp o xamp y luego configurar el intérprete de su PHP en la página PHP que abrió. Más información aquí.
Salar
fuente
1
¿Podría ver que está configurando 'Para el proyecto actual'? ¿Cómo puedo actualizarlo para Global (todos los proyectos)?
Vuong
8

Puedes usar la respuesta de Alejandro Moreno , pero a veces es posible que no pueda cambiar el nivel de PHP del menú desplegable cerrado.

Puede deshabilitar la casilla de verificación "Sincronizar configuraciones IDE con composer.json" desde:

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

Y luego de aplicar nuevamente abrir

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

Aquí puede cambiar el nivel de PHP desde el menú desplegable abierto.

boolfalse
fuente
2

En Mac, está bajo PHPStorm, Preferencias, Idiomas y marcos, PHP

ingrese la descripción de la imagen aquí

Soporte CFP
fuente
2

Puede configurar esto por proyecto, como lo describe @Alejandro Moreno .

También hay una configuración global que le permite establecer el nivel de lenguaje PHP para todos los proyectos NUEVOS .

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

Aquí puede establecer el nivel deseado para todos los proyectos futuros :-)

MrG
fuente
1

En imagen ..........................

EN

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

des1roer
fuente
1

La versión de PHP de mi compositor está sincronizada con el phpstorm, así que para elegir explícitamente el nivel de lenguaje php de la configuración, verifique que la opción en la imagen de abajo esté deshabilitada.

ingrese la descripción de la imagen aquí

Mohammed Yassine CHABLI
fuente
0

Al igual que @mohammed, mi versión PHP de compositor se sincronizó con mi phpstorm. así que todo lo que hice fue actualizar mi número de versión composer.json php y afectó todo el proyecto.

no te olvides composer update y php artisan config:clear

feliz codificación!

El hombre muerto
fuente