strict_types=1: Her dosyada kullanmak gerçekten işe yarıyor mu?

0 Yanıt 3 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
PHP projelerinde dosyanın başına
KOD
1declare(strict_types=1);
koymak küçük bir tercih gibi duruyor ama ekip içinde davranış farkı yaratabiliyor. Özellikle eski kodla yeni servisleri bir arada yürütürken nerede katı tip kullanacağımızı merak ediyorum.

Önemli ayrıntı şu: skaler tiplerin katı kontrolü, fonksiyonun tanımlandığı dosyadan ziyade çağrının yapıldığı dosyanın ayarına bağlı. Yani parametresi
KOD
1int
olan bir fonksiyon, katı modda olmayan bir dosyadan
KOD
1"12"
ile çağrıldığında dönüştürme yapılabilir; katı moddaki çağrıda ise tip hatası alabilirsiniz. Bu nedenle yalnızca kütüphane dosyalarına eklemek, bütün uygulamayı otomatik olarak katı hale getirmiyor.

Ben yeni yazdığım uygulama kodlarında katı modu tercih ediyorum; tip uyuşmazlığını hatanın kaynağına yakın görmek daha rahat. Ama bu, dışarıdan gelen veriyi doğrulamanın yerini tutmuyor. JSON, form veya veritabanı girdisi hâlâ beklenen biçimde mi diye ayrıca kontrol edilmeli.

Siz projelerinizde bunu her PHP dosyasında standart mı yapıyorsunuz, yoksa yalnızca belirli katmanlarda mı kullanıyorsunuz? Legacy kodla birlikte çalışırken nasıl bir geçiş yolu izlediniz?

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi