ส่วนขยายนี้มีคุณสมบัติต่อไปนี้:
config() และ model()service() และ single_service()fake()CodeIgniterModel find() , findAll() และวิธี first()CodeIgniterModel เมื่อ asArray() หรือ asObject() เรียกว่าconfig() หรือ model() ฟังก์ชั่นเป็นสตริงคลาสที่ถูกต้องขยาย CodeIgniterConfigBaseConfig หรือ CodeIgniterModel ตามลำดับ สิ่งนี้สามารถปิดได้โดยการตั้งค่า codeigniter.checkArgumentTypeOfFactories: false ใน phpstan.neon ของคุณ สำหรับการควบคุมแบบละเอียดคุณสามารถเลือกฟังก์ชั่นโรงงานที่จะปิดการใช้งานโดยใช้ codeigniter.checkArgumentTypeOfConfig และ codeigniter.checkArgumentTypeOfModel หมายเหตุ: การตั้งค่า codeigniter.checkArgumentTypeOfFactories: false จะข้ามตัวเลือกเฉพาะสองตัวเลือกได้อย่างมีประสิทธิภาพservice() หรือ single_service() ฟังก์ชั่นเป็นชื่อบริการที่ถูกต้องหรือไม่ สิ่งนี้สามารถปิดได้โดยการตั้งค่า codeigniter.checkArgumentTypeOfServices: false ใน phpstan.neon ของคุณnew และแนะนำให้ใช้คลาส CacheFactory แทนFrameworkException โดยใช้ new$_SERVER และ $_GET และแนะนำให้ใช้คลาส Superglobals แทน::class ดึงข้อมูลบน config() และ model() และแนะนำให้ใช้รูปแบบสั้นของคลาสแทน ในการใช้ส่วนขยายนี้ต้องใช้ในนักแต่งเพลง:
composer require --dev codeigniter/phpstan-codeigniter
หากคุณติดตั้ง PHPSTAN/EXTENSION-INSTALLER คุณก็พร้อมแล้ว!
หากคุณไม่ต้องการใช้ phpstan/extension-installer ให้รวมส่วนขยาย neon ในการกำหนดค่า phpstan ของโครงการของคุณ:
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neonการพัฒนาในที่เก็บนี้ใช้ PHP 8.1+
เริ่มต้น v1.1.0 การเผยแพร่มาพร้อมกับรุ่นที่ลดระดับเพื่อให้เหมาะกับเวอร์ชัน PHP ที่ต่ำกว่า ปัจจุบันรุ่น PHP ที่ลดลงต่ำสุดที่รองรับคือ PHP 7.4
ส่วนขยายนี้เพิ่มเนมสเปซเริ่มต้นสำหรับ config() และ model() ฟังก์ชั่นเป็น Config และ AppModels ตามลำดับเมื่อค้นหาคลาสที่เป็นไปได้ หากแอปพลิเคชันของคุณใช้เนมสเปซอื่น ๆ คุณสามารถกำหนดค่าส่วนขยายนี้ใน phpstan.neon ของคุณเพื่อรับรู้เนมสเปซเหล่านั้น:
parameters :
codeigniter :
additionalConfigNamespaces :
- AcmeBlogConfig
- FooBarConfig
additionalModelNamespaces :
- AcmeBlogModels
สำหรับฟังก์ชั่น service() และ single_service() คุณสามารถสั่งให้ phpstan พิจารณาชั้นเรียนโรงงานบริการของคุณเอง โปรดทราบว่าควรเป็นคลาสที่ถูกต้องขยาย CodeIgniterConfigBaseService !
parameters :
codeigniter :
additionalServices :
- AcmeBlogConfigServiceFactory เมื่อโมเดลส่งผ่านไปยัง fake() มีคุณสมบัติ $returnType เป็น array ส่วนขยายนี้จะให้รูปร่างอาร์เรย์ที่แม่นยำตามฟิลด์ที่อนุญาตของโมเดล ส่วนใหญ่ฟิลด์ฟอร์แมตเป็นสตริง หากไม่ใช่สตริงคุณสามารถระบุประเภทการส่งคืนรูปแบบสำหรับฟิลด์เฉพาะ
parameters :
codeigniter :
notStringFormattedFields : # key-value pair of field => format
success : bool
user_id : int ยินดีต้อนรับการมีส่วนร่วมใด ๆ
หากคุณต้องการดูกฎใหม่หรือส่วนขยายเฉพาะสำหรับ CodeIgniter โปรดเปิดคำขอคุณสมบัติ หากคุณสามารถมีส่วนร่วมรหัสด้วยตัวเองโปรดเปิดคำขอดึงแทน
ก่อนที่จะรายงานข้อบกพร่องใด ๆ โปรดตรวจสอบว่าข้อผิดพลาดเกิดขึ้นเฉพาะในกรณีที่ใช้ส่วนขยายนี้กับ phpstan หากข้อผิดพลาดสามารถทำซ้ำได้ใน phpstan เพียงอย่างเดียวโปรดเปิดรายงานข้อผิดพลาดที่นั่นแทน ขอบคุณ!
PHPStan CodeIgniter เป็นไลบรารีโอเพนซอร์สที่ได้รับอนุญาตภายใต้ MIT