Как установить версию PHP в PHPStorm?


128

Можно ли установить значение версии PHP, скажем 4.0+, и использовать функции выделения PHPStorm, которые не будут работать с самой старой версией? Например, для PHP4 это должно быть выделено static functionи т. Д. У меня установлен PHP на моем ПК, но я не хочу устанавливать старую версию PHP для каждого небольшого скрипта, который мне нужно создать.

Спасибо


2
Зачем это выделять __construct()? Это вполне допустимый идентификатор функции в PHP4, просто он не вызывается как конструктор.
Mchl 08

1
@Mchl, статическая функция в порядке?
Fluffy

static был доступен в PHP4, а также в IIRC. Попробуйте abstractили использовать модификаторы видимости public, protected, private. В любом случае, писать объектно-ориентированный код, который должен работать как под PHP4, так и под PHP5, - это бессмысленная задача IMO. Объектная модель между ними слишком сильно отличается.
Mchl 08

@Mchl, static $variableвозможно, нетstatic function
Fluffy

Может быть. Я не работал с PHP4 ООП
Mchl

Ответы:


193

Итак, вы хотите выделить все части кода, которые не будут работать с версией PHP, в которой вы их пишете, верно? Это можно сделать здесь:

Preferences -> Languages & Frameworks > PHP

Или с более новыми версиями PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

введите описание изображения здесь

затем выберите свою версию PHP, например 7.0

Это очень полезно, если ваша локальная система работает, например, с PHP 7.0, а в производственной среде работает PHP 5.5. Таким образом phpstorm предупредит вас, какие части не будут работать в продакшене.


1
Какую версию вы используете? У меня нет такой возможности.
Пушистый

Извините, я должен был указать это: 7.1.3
Алехандро Морено

9
Можем ли мы сделать это для каждого проекта или это только «глобально»?
Райанвинчестер

3
Для текущей версии PhpStorm: PhpStorm 2016.3.2. Так и должно быть File -> Settings -> Languages & Frameworks -> PHP.
Thoroc

1
и не забывайте, что если у вас старый phpstrorm (например, 2018.x), вы не увидите уровень языка PHP 7.4 !
Владимир Ч.

110

В случае, если ваше поле отключено.

Возможно ваши настройки "Синхронизировать настройки IDE с composer.json" включены

Вы можете изменить свою версию PHP в composer.jsonфайле

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

ИЛИ отключите ваши настройки в этом пути

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

* Если вы измените файл composer.json - как прокомментировал Феликс Ганьон-Гренье , имейте в виду, что это влияет на то, как пакеты потребуются позже


4
Этот ответ не совсем точен. Это изменит уровень языка, если (и только если) отмечена опция «синхронизировать с композитором». Более того, это влияет на то, как пакеты потребуются позже.
Феликс Ганьон-Гренье

3
Это помогло мне понять, почему был отключен выбор уровня языка PHP.
sglessard

2
Это было действительно полезно
Никсон

3
В моем случае phpstorm искал другой composer.json, поэтому я изменил его, и проблема была решена. Спасибо!
Акмал

13

Откройте диалоговое окно Параметры, выбрав Файл | Настройки , затем щелкните PHP в разделе " Языки и рамки" . Откроется страница PHP.

Скриншот настроек PHP

Теперь вы можете делать 2 вещи:

  1. На открывшейся странице PHP вы можете установить «Уровень языка PHP».
  2. Вы можете установить желаемую версию PHP локально, например, установив такие пакеты, как wamp или xamp, а затем установить интерпретатор вашего PHP на открывшейся вами странице PHP. Больше информации здесь

1
Вы могли видеть, что это настройка «Для текущего проекта»? Как я могу обновить его для Global (всех проектов)?
Vuong

8

Вы можете использовать ответ Алехандро Морено , но иногда вы не сможете изменить уровень PHP из закрытого раскрывающегося списка.

Вы можете отключить флажок «Синхронизировать настройки IDE с composer.json» из:

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

И после подачи заявки снова открыть

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

Здесь вы можете изменить уровень PHP из открытого раскрывающегося списка.



2

Вы можете установить это для каждого проекта, как указано @Alejandro Moreno .

Существует также глобальная настройка, которая позволяет вам установить уровень языка PHP для всех НОВЫХ проектов.

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

Здесь вы можете установить желаемый уровень для всех будущих проектов :-)



1

Моя версия PHP для композитора синхронизируется с phpstorm, поэтому, чтобы явно выбрать уровень языка php в настройках, убедитесь, что параметр на рисунке ниже отключен.

введите описание изображения здесь


0

так же, как @mohammed, моя версия PHP для композитора была синхронизирована с моим phpstorm. поэтому все, что я сделал, - это обновил свой номер версии php composer.json, и это повлияло на весь проект.

не забывай composer update и php artisan config:clear

счастливого кодирования!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.