Як я можу встановити версію PHP в PHPStorm?


128

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

Дякую


2
Навіщо це виділяти __construct()? Це ідеально дійсний ідентифікатор функції в PHP4, його просто не називають конструктором.
Mchl

1
@Mchl, чи нормально статична функція?
Пухнастий

статичний був avaialbe в PHP4, а також IIRC. Спробуйте abstractабо використовувати модифікатори видимості public, protected, private. У будь-якому випадку, написання коду OO, який повинен працювати під PHP4, а також PHP5, є безглуздим завданням IMO. Об'єктна модель занадто сильно відрізняється між ними.
Mchl

@Mchl static $variableможливо, ніstatic function
Fluffy

Може бути. Я не працював з PHP4 OOP
Mchl

Відповіді:


192

Отже, ви маєте на увазі виділити всі фрагменти коду, які не працюватимуть з версією PHP, в яку ви пишете, правда? Це можна зробити тут:

Preferences -> Languages & Frameworks > PHP

Або з новішими версіями PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

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

потім виберіть версію PHP, наприклад, 7.0

Це дуже корисно, наприклад, якщо ваша локальна система працює з PHP 7.0, але виробництво працює на PHP 5.5. Таким чином phpstorm попередить вас, які частини не працюватимуть у виробництві.


1
Яку версію ви використовуєте? У мене такого варіанту немає.
Пухнастий

9
Чи можемо ми це зробити для кожного проекту чи це лише "глобально"?
ryanwinchester

3
Для поточної версії PhpStorm: PhpStorm 2016.3.2. Це повинно бути File -> Settings -> Languages & Frameworks -> PHP.
торок

1
Чи можна встановити це глобально, не знову для кожного проекту?
Fusca Software

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

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

Тепер ви можете зробити дві речі:

  1. На відкритій сторінці PHP ви можете встановити "Рівень мови PHP".
  2. Ви можете встановити потрібну вам локальну версію, наприклад, встановивши такі пакети, як wamp чи xamp, а потім встановіть інтерпретатор PHP на сторінці PHP, яку ви відкрили. Більше інформації тут

1
Чи можете ви побачити, що це налаштування "Для поточного проекту"? Як я можу оновити його для Глобального (усі проекти)?
Вуонг

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.