Ekstensi ini menyediakan fitur -fitur berikut:
config() dan model() .service() dan single_service() .fake() .CodeIgniterModel find() , findAll() , dan first() .CodeIgniterModel ketika asArray() atau asObject() dipanggil.config() atau model() adalah string kelas yang valid yang memperpanjang CodeIgniterConfigBaseConfig atau CodeIgniterModel , masing -masing. Ini dapat dimatikan dengan mengatur codeigniter.checkArgumentTypeOfFactories: false di phpstan.neon Anda. Untuk kontrol berbutir halus, Anda dapat secara individual memilih fungsi pabrik mana yang akan dinonaktifkan menggunakan codeigniter.checkArgumentTypeOfConfig dan codeigniter.checkArgumentTypeOfModel . CATATAN: Mengatur codeigniter.checkArgumentTypeOfFactories: false akan secara efektif memotong dua opsi spesifik.service() atau single_service() fungsi adalah nama layanan yang valid. Ini dapat dimatikan dengan mengatur codeigniter.checkArgumentTypeOfServices: false di phpstan.neon Anda.new dan menyarankan untuk menggunakan kelas CacheFactory sebagai gantinya.FrameworkException menggunakan new .$_SERVER dan $_GET dan menyarankan untuk menggunakan kelas Superglobals sebagai gantinya.::class mengambil pada config() dan model() dan menyarankan untuk menggunakan bentuk pendek kelas sebagai gantinya. Untuk menggunakan ekstensi ini, memerlukannya di komposer:
composer require --dev codeigniter/phpstan-codeigniter
Jika Anda juga menginstal phpstan/extension-installer maka Anda sudah siap!
Jika Anda tidak ingin menggunakan phpstan/extension-installer , sertakan extension.neon dalam konfigurasi phpstan proyek Anda:
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neonPengembangan dalam repositori ini menggunakan PHP 8.1+ .
Memulai v1.1.0, rilis dilengkapi dengan versi yang diturunkan untuk memenuhi versi PHP yang lebih rendah. Saat ini, versi PHP downgraded terendah adalah PHP 7.4 .
Ekstensi ini menambahkan namespace default untuk config() dan model() berfungsi sebagai Config dan AppModels , masing -masing, saat mencari kemungkinan kelas. Jika aplikasi Anda menggunakan ruang nama lainnya, Anda dapat mengonfigurasi ekstensi ini di phpstan.neon Anda. Neon untuk mengenali ruang nama itu:
parameters :
codeigniter :
additionalConfigNamespaces :
- AcmeBlogConfig
- FooBarConfig
additionalModelNamespaces :
- AcmeBlogModels
Untuk fungsi service() dan single_service() , Anda dapat menginstruksikan phpstan untuk mempertimbangkan kelas pabrik layanan Anda sendiri. Harap dicatat bahwa itu harus menjadi kelas yang valid yang memperluas CodeIgniterConfigBaseService !
parameters :
codeigniter :
additionalServices :
- AcmeBlogConfigServiceFactory Ketika model diteruskan ke fake() memiliki properti $returnType yang diatur ke array , ekstensi ini akan memberikan bentuk array yang tepat berdasarkan bidang model yang diizinkan. Sebagian besar waktu, bidang yang diformat adalah string. Jika bukan string, Anda dapat menunjukkan jenis pengembalian format untuk bidang tertentu.
parameters :
codeigniter :
notStringFormattedFields : # key-value pair of field => format
success : bool
user_id : int Kontribusi apa pun dipersilakan.
Jika Anda ingin melihat aturan atau ekstensi baru khusus untuk CodeIgniter, buka permintaan fitur. Jika Anda dapat menyumbangkan kode sendiri, silakan buka permintaan tarik sebagai gantinya.
Sebelum melaporkan bug apa pun, silakan periksa apakah bug hanya terjadi jika menggunakan ekstensi ini dengan phpstan. Jika bug dapat direproduksi di phpstan saja, silakan buka laporan bug di sana. Terima kasih!
Phpstan Codeigniter adalah perpustakaan open source yang dilisensikan di bawah MIT.