Bagaimana saya bisa mengatur versi PHP di PHPStorm?

128

Apakah mungkin untuk menetapkan nilai versi PHP, katakan 4.0+ dan memiliki fungsi sorotan PHPStorm yang tidak akan berfungsi dengan versi tertua? Sebagai contoh, untuk PHP4 ini harus menyorot static functiondll. Saya memiliki instalasi PHP di PC saya tetapi saya tidak ingin menginstal versi PHP yang lebih lama untuk setiap skrip kecil yang harus saya hasilkan.

Terima kasih

Halus
sumber
2
Mengapa itu menyoroti __construct()? Ini adalah pengidentifikasi fungsi yang benar-benar valid dalam PHP4, hanya saja tidak disebut sebagai konstruktor.
Mchl
1
@ MCCH, apakah fungsi statis ok?
Fluffy
statis adalah avaialbe di PHP4 juga IIRC. Coba abstractatau menggunakan pengubah visibilitas public, protected, private. Bagaimanapun, menulis kode OO yang seharusnya bekerja di bawah PHP4 dan juga PHP5 adalah tugas yang tidak masuk akal IMO. Model objek terlalu banyak berbeda di antara keduanya.
Mchl
@ Mcchl static $variablemungkin, tidakstatic function
Fluffy
Mungkin. Saya tidak bekerja dengan PHP4 OOP
Mchl

Jawaban:

192

jadi, Anda bermaksud menyorot semua bagian kode yang tidak akan berfungsi dengan versi PHP tempat Anda menulisnya, bukan? Itu bisa dilakukan di sini:

Preferences -> Languages & Frameworks > PHP

Atau dengan versi PhpStorm yang lebih baru:

File -> Settings -> Languages & Frameworks > PHP

masukkan deskripsi gambar di sini

kemudian pilih versi PHP Anda, misalnya, 7.0

Ini sangat berguna ketika sistem lokal Anda menjalankan PHP 7.0, misalnya, tetapi produksi menjalankan PHP 5.5. Dengan begitu phpstorm akan memperingatkan Anda bagian mana yang tidak akan berfungsi dalam produksi.

Alejandro Moreno
sumber
1
Versi apa yang Anda gunakan? Saya tidak memiliki opsi itu di tambang.
Fluffy
9
Bisakah kita melakukan ini per proyek atau ini hanya "global"?
ryanwinchester
3
Untuk versi saat ini dari PhpStorm: PhpStorm 2016.3.2. Seharusnya begitu File -> Settings -> Languages & Frameworks -> PHP.
thoroc
1
Apakah mungkin untuk mengaturnya secara global, tidak lagi untuk setiap proyek?
Fusca Software
1
dan jangan lupa, jika Anda mendapatkan phpstrorm lama (misalnya 2018.x), Anda tidak akan melihat 7.4 dalam level bahasa PHP !
Vladimir Ch
110

Seandainya bidang Anda dinonaktifkan.

Mungkin pengaturan Anda "Sinkronisasi pengaturan IDE dengan composer.json" diaktifkan

Anda dapat mengubah versi PHP Anda dalam composer.jsonfile

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

ATAU nonaktifkan pengaturan Anda di jalur ini

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

* Jika Anda mengubah file composer.json Anda - Seperti yang dikomentari Félix Gagnon-Grenier , Ingatlah bahwa ia memiliki efek pada cara paket akan dibutuhkan nanti

Shay Altman
sumber
4
Jawaban ini tidak terlalu akurat. Melakukan hal itu akan mengubah level bahasa jika (dan hanya jika) opsi "sinkronisasi dengan komposer" dicentang. Selain itu, ini memiliki efek pada cara paket akan dibutuhkan nanti.
Félix Gagnon-Grenier
3
Ini membantu saya memahami mengapa pemilihan level bahasa PHP dinonaktifkan.
sglessard
2
Ini sangat membantu
Nixon Kosgei
3
Dalam kasus saya phpstorm sedang mencari composer.json lain jadi saya mengubahnya dan masalah terpecahkan. Terima kasih!
Akmal
13

Buka kotak dialog Pengaturan dengan memilih File | Pengaturan , lalu klik PHP di bawah Bahasa & Kerangka Kerja . Halaman PHP terbuka.

Cuplikan layar pengaturan PHP

Sekarang Anda dapat melakukan 2 hal:

  1. Pada halaman PHP yang terbuka, Anda dapat mengatur "Level Bahasa PHP".
  2. Anda dapat menginstal versi PHP yang Anda inginkan secara lokal dengan, misalnya, menginstal paket seperti wamp atau xamp dan kemudian mengatur penerjemah PHP Anda pada halaman PHP yang Anda buka. Info lebih lanjut di sini
Salar
sumber
1
Bisakah Anda melihat bahwa pengaturan 'Untuk proyek saat ini'? Bagaimana saya bisa memperbaruinya untuk Global (semua proyek)?
Vuong
8

Anda dapat menggunakan jawaban Alejandro Moreno , tetapi kadang-kadang Anda mungkin tidak dapat mengubah level PHP dari dropdown tertutup.

Anda dapat menonaktifkan kotak centang "Sinkronisasi pengaturan IDE dengan composer.json" dari:

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

Dan setelah mendaftar lagi buka

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

Di sini Anda dapat mengubah level PHP dari dropdown terbuka.

palsu
sumber
2

Di Mac, ia berada di bawah PHPStorm, Preferences, Languages ​​& Frameworks, PHP

masukkan deskripsi gambar di sini

Dukungan CFP
sumber
2

Anda dapat mengatur ini per proyek, seperti yang digariskan oleh @Alejandro Moreno .

Ada juga pengaturan global, yang memungkinkan Anda untuk mengatur Level Bahasa PHP untuk semua proyek BARU .

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

Di sini Anda dapat mengatur level yang diinginkan untuk semua proyek masa depan :-)

MrG
sumber
1

dalam gambar ..........................

DI

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

des1roer
sumber
1

Versi PHP komposer saya disinkronkan ke phpstorm, jadi untuk secara eksplisit memilih level bahasa php dari pengaturan, periksa apakah opsi pada gambar di bawah dinonaktifkan.

masukkan deskripsi gambar di sini

Mohammed Yassine CHABLI
sumber
0

seperti @mohammed versi komposer PHP saya disinkronkan ke phpstorm saya. jadi semua yang saya lakukan adalah memperbarui nomor versi php composer.json saya dan itu mempengaruhi seluruh proyek.

jangan lupa untuk composer update dan php artisan config:clear

selamat coding!

Orang Mati
sumber