ฉันจะตั้งค่าเวอร์ชัน PHP ใน PHPStorm ได้อย่างไร


128

เป็นไปได้ไหมที่จะตั้งค่าเวอร์ชั่น PHP, พูด 4.0+ และมีฟังก์ชั่นไฮไลต์ PHPStorm ที่ไม่สามารถใช้งานได้กับเวอร์ชั่นเก่าที่สุด? ตัวอย่างเช่นสำหรับ PHP4 สิ่งนี้ควรเน้นstatic functionฯลฯ ฉันมีการติดตั้ง PHP บนพีซีของฉัน แต่ฉันไม่ต้องการติดตั้ง PHP เวอร์ชันเก่าสำหรับสคริปต์เล็ก ๆ ทุกตัวที่ฉันต้องผลิต

ขอบคุณ


2
ทำไมมันจะเน้น__construct()? มันเป็นฟังก์ชั่นระบุที่ถูกต้องสมบูรณ์ใน PHP4 แต่มันไม่ได้ถูกเรียกว่าเป็นตัวสร้าง
Mchl

1
@Mchl, ฟังก์ชั่นคงที่เป็น ok
Fluffy

คงที่เป็น 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
คุณใช้เวอร์ชั่นอะไร ฉันไม่มีตัวเลือกนั้นในของฉัน
Fluffy

9
เราสามารถทำสิ่งนี้ต่อโครงการหรือเป็น "ระดับโลก" เท่านั้นหรือไม่
ryanwinchester

3
สำหรับเวอร์ชันปัจจุบันของ PhpStorm 2016.3.2PhpStorm: File -> Settings -> Languages & Frameworks -> PHPมันควรจะเป็น
thoroc

1
เป็นไปได้ไหมที่จะตั้งทั่วโลกไม่ใช่สำหรับแต่ละโครงการ?
Fusca Software

1
และอย่าลืมถ้าคุณมี phpstrorm เก่า (เช่น 2018.x) คุณจะไม่เห็น 7.4 ในระดับภาษา PHP !
Vladimir Ch

110

ในกรณีที่ข้อมูลของคุณถูกปิดใช้งาน

อาจเป็นการตั้งค่าของคุณ "เปิดใช้งานซิงโครไนซ์การตั้งค่า IDE กับ composer.json"

คุณสามารถเปลี่ยนเวอร์ชั่น PHP ของคุณในcomposer.jsonไฟล์

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

หรือปิดใช้งานการตั้งค่าของคุณในเส้นทางนี้

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

* ถ้าคุณเปลี่ยนไฟล์ composer.json ของคุณ - ตามที่Félix Gagnon-Grenierแสดงความคิดเห็นโปรดทราบว่ามันมีผลกับวิธีการใช้แพ็คเกจในภายหลัง


4
คำตอบนี้ไม่ถูกต้องจริงๆ การทำเช่นนั้นจะเปลี่ยนระดับภาษาหาก (และเฉพาะในกรณี) ตัวเลือก "ซิงโครไนซ์กับผู้แต่ง" จะถูกเลือก ยิ่งไปกว่านั้นมันมีผลกระทบกับวิธีที่แพคเกจจะต้องใช้ในภายหลัง
Félix Gagnon-Grenier

3
มันช่วยให้ฉันเข้าใจว่าทำไมการเลือกระดับภาษา PHP จึงถูกปิดการใช้งาน
sglessard

2
สิ่งนี้มีประโยชน์จริง ๆ
Nixon Kosgei

3
ในกรณีของฉัน phpstorm กำลังมองหา composer.json คนอื่นดังนั้นฉันจึงเปลี่ยนและแก้ไขปัญหาได้ ขอบคุณ!
Akmal

13

เปิดกล่องโต้ตอบการตั้งค่าโดยเลือกไฟล์ | การตั้งค่าจากนั้นคลิกPHPภายใต้ภาษาและกรอบ หน้า PHP เปิดขึ้นมา

สกรีนช็อตของการตั้งค่า PHP

ตอนนี้คุณสามารถทำได้ 2 สิ่ง:

  1. ในหน้า PHP ที่เปิดขึ้นคุณสามารถตั้งค่า "ระดับภาษา PHP"
  2. คุณสามารถติดตั้งเวอร์ชัน PHP ที่คุณต้องการในเครื่องได้ตัวอย่างเช่นการติดตั้งแพ็คเกจเช่น wamp หรือ xamp จากนั้นตั้งล่ามของ PHP ของคุณในหน้า PHP ที่คุณเปิด ข้อมูลเพิ่มเติมที่นี่

1
คุณเห็นหรือไม่ว่าการตั้งค่า 'สำหรับโครงการปัจจุบัน' ฉันจะอัปเดตสำหรับ Global (โครงการทั้งหมด) ได้อย่างไร
Vuong

8

คุณสามารถใช้คำตอบของ Alejandro Morenoแต่บางครั้งคุณอาจไม่สามารถเปลี่ยนระดับ 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

เวอร์ชันนักแต่งเพลงของฉันถูกซิงโครไนซ์กับ phpstorm ดังนั้นในการเลือกระดับภาษา php อย่างชัดเจนจากการตั้งค่าให้ตรวจสอบว่าตัวเลือกในภาพร้องถูกปิดใช้งาน

ป้อนคำอธิบายรูปภาพที่นี่


0

เช่นเดียวกับ@ โมฮัมเหม็ดเวอร์ชันผู้แต่ง PHP ของฉันถูกซิงโครไนซ์กับ phpstorm ของฉัน ดังนั้นทั้งหมดที่ฉันทำคือการอัปเดตหมายเลขรุ่นของฉัน composer.json และมันส่งผลกระทบต่อโครงการทั้งหมด

อย่าลืม composer update และ php artisan config:clear

การเข้ารหัสมีความสุข!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.