Benim PHP önermememin en büyük sebebi genelde düzensiz yazılıyor olması. PHP kuralcı bir dil değil, sen nasıl istersen kodunu öyle yazmana izin veriyor ve bu benim için bir artı değil. Spagetti kod dediğimiz kavramın oluşmasına yol açıyor bu özgürlük ve başka bir geliştirici o şekilde yazılmış kodları okurken gözleri kanıyor.
O yüzden PHP'nin alt maddesinde Laravel veya Symfony gibi Framework'ler önerdim. Bunlar MVC yapısı sayesinde çok daha düzenli çalışma ortamı sunuyorlar çünkü bir noktaya kadar kuralcılar. Onun dışında PHP'de bazı fonksiyonlar da sıkıntılı bana göre, bu biraz şımarıkça bir eleştiri belki ama mesela
explode(), bu fonksiyon stringi belirlediğin bir parametreden bölüp array return ediyor ama fonksiyonun ismi neden explode? Güncel tüm programlama dillerinde bu fonksiyon var ama hepsinde ismi
split()'tir fakat PHP'de değil. PHP marjinal olmaya mı çalışıyor yani anlamıyorum
Ayrıca güvenlik açısından da eksikleri var, PHP'de güvenliğini kendin yapıyorsun, yapmak zorundasın. Bir girdiyi bir filtreden geçirmemiş ol geçmiş olsun, nur topu gibi bir XSS'in veya SQL Injection'ın var. Bu elbette diğer dillerde de geçerli olabilecek bir şey ancak PHP'deki kadar kırılgan değil. Çok basit bir örnek vereceğim, NextJS geliştiriyorsun ve kullanıcının girmesini istediğin bir verin var. Kullanıcı kötü niyetli bir kullanıcı ve bu girdiye
<script> ile başlayıp bir JavaScript kodu girdi. NextJS yani aslında React bu kodu çalıştırmaz, düz text olarak gösterir. Ancak PHP ile geliştirmiş olsaydın ve
strip_tags() filtresinden geçirmemiş olsaydın PHP bu scripti çalıştırırdı ve XSS açığın hayırlı uğurlu olsun. Bu verdiğim sadece basit bir örnek.