spaze/phpstan-disallowed-calls, PHPStan için geliştirilmiş bir kural paketidir. Bu paket, kod tabanınızda belirli fonksiyon ve metot çağrılarını, sabitleri, namespace'leri, attribute'ları, property'leri ve süperglobal kullanımlarını tespit etmenizi sağlar. Ayrıca, belirli yerlerde bu kullanımlara yeniden izin verme imkanı tanıyan güçlü kurallar içerir. Bu sayede, güvenlik açıklarına yol açabilecek veya proje standartlarınıza uymayan kod parçalarını otomatik olarak denetleyebilirsiniz.
Hangi ihtiyaçlarda değerlendirilebilir?
- PHP tabanlı projelerde güvenlik ve kod standartlarını otomatik denetimle korumak isteyen ekipler
- Belirli fonksiyon veya metotların kullanımını kısıtlayarak mimari tutarlılık sağlamak isteyen geliştiriciler
- PHPStan kullanan ve mevcut statik analiz süreçlerine özel kurallar eklemek isteyen kurumlar
Yaygın kullanım alanları
Güvenlik Açıklarını Önleme
Örneğin, `eval`, `exec`, `system` gibi tehlikeli fonksiyonların kullanımını engelleyerek kod tabanınızın güvenliğini artırabilirsiniz.
Kod Standartlarını Uygulama
Belirli bir namespace veya sınıfın kullanımını kısıtlayarak, projenizde belirlenen mimari kurallara uyumu sağlayabilirsiniz.
Yasaklı Kullanımları Belirli Bağlamlarda Serbest Bırakma
Örneğin, test dosyalarında veya belirli bir modülde yasaklı bir çağrının kullanılmasına izin vererek esneklik kazanabilirsiniz.
İncelenmesi gereken noktalar
- Bu paket, PHPStan'ın bir eklentisidir; bu nedenle projenizde PHPStan'ın kurulu ve yapılandırılmış olması gerekir.
- Kuralların etkinleştirilmesi ve özelleştirilmesi için PHPStan yapılandırma dosyasında (ör. `phpstan.neon`) ayar yapmanız gerekir.
- Paketin sürüm uyumluluğunu PHP ve PHPStan sürümlerinizle kontrol etmeniz önemlidir; güncel sürümleri kullanmak en iyisidir.
WordPress.org
Kurulum ve geliştirme notları
Paket, Composer ile kolayca kurulabilir ve PHPStan yapılandırmanıza eklenir. Kurulum sonrası kurallar, PHPStan analizinde otomatik olarak uygulanır.
- 1Composer kullanarak paketi projenize ekleyin: `composer require --dev spaze/phpstan-disallowed-calls`
- 2PHPStan yapılandırma dosyanıza (ör. `phpstan.neon`) paketin kurallarını dahil edin.
- 3İhtiyaca göre yasaklı çağrıları ve istisnaları yapılandırın.
Geliştirme sürecinde, paketin sağladığı kuralları projenizin ihtiyaçlarına göre özelleştirebilirsiniz. PHPStan'ın güçlü yapılandırma sistemi sayesinde, yasaklı kullanımları ve yeniden izin verme kurallarını detaylı şekilde tanımlayabilirsiniz.
- Fonksiyon, metot, sabit, namespace, attribute, property ve süperglobal kullanımlarını denetleyebilirsiniz.
- Belirli dosya, sınıf veya namespace'lerde yasaklı kullanımlara yeniden izin verebilirsiniz.
- Kurallar, PHPStan'ın statik analiz sürecine entegre olduğu için CI/CD süreçlerinde otomatik olarak çalışır.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
ZeplinGo olarak, PHP projelerinizde bu paketin kurallarını özelleştirmek ve mevcut kod tabanınıza entegre etmek için kapsamlı bir analiz yapabiliriz. Projenizin ihtiyaçlarına göre yasaklı çağrıları belirleyebilir, istisna kurallarını tasarlayabilir ve PHPStan yapılandırmanızı optimize edebiliriz. Ayrıca, kurumsal web sitenizin kod kalitesini artırmak için bu tür statik analiz araçlarını kullanmanızı öneririz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
spaze/phpstan-disallowed-calls paketi hangi PHPStan sürümleriyle uyumludur?
Paketin uyumlu olduğu PHPStan sürümleri, paketin Composer bağımlılıklarına bağlıdır. Güncel sürümler genellikle PHPStan'ın son sürümleriyle uyumludur; ancak kurulum öncesinde paketin `composer.json` dosyasını kontrol etmeniz önerilir.
Bu paket ile hangi tür kullanımları yasaklayabilirim?
Paket; fonksiyon ve metot çağrıları, sabitler, namespace'ler, attribute'lar, property'ler ve süpergloballer (ör. `$_GET`, `$_POST`) üzerinde yasaklama kuralları tanımlamanıza olanak tanır.
Yasaklı bir kullanımı belirli bir dosyada nasıl serbest bırakabilirim?
PHPStan yapılandırma dosyanızda, ilgili kural için istisna tanımlayabilirsiniz. Örneğin, belirli bir dosya veya sınıf adı vererek o bağlamda kuralın uygulanmamasını sağlayabilirsiniz.