Web Yazılım Bileşeni

spaze/phpstan-disallowed-calls

PHPStan kuralları ile kod tabanınızda istenmeyen fonksiyon, metot, sabit, namespace, attribute, property ve süperglobal kullanımlarını tespit edin; belirli bağlamlarda yeniden izin verme esnekliğiyle güvenlik ve standartları koruyun.

spaze/phpstan-disallowed-calls PHPStan kural paketi ile kod denetimi

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.

  1. 1Composer kullanarak paketi projenize ekleyin: `composer require --dev spaze/phpstan-disallowed-calls`
  2. 2PHPStan yapılandırma dosyanıza (ör. `phpstan.neon`) paketin kurallarını dahil edin.
  3. 3İhtiyaca göre yasaklı çağrıları ve istisnaları yapılandırın.

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.

ZeplinGo çözümleri

Hazır teknolojinin yeterli olduğu noktaları inceliyor; iş ihtiyaçları standart sınırları aştığında entegrasyon ve özel geliştirme kapsamını birlikte belirliyoruz.

Tüm çözümleri görün →