13 yıldır PHP ile programlama yapıyorum. Bu süre zarfında bu dili gerçekten takdir etmeye ve sevmeye başladım. Herkesin bu düşünceye katılmayacağının farkındayım: pek çok kişi PHP'nin bozuk ve tuhaf bir dil olduğunu düşünüyor. Yine de web'in büyük bir bölümünü çalıştırıyor. Peki neden bu dili yazmaktan keyif alıyorum ve neden bu kadar çok kullanılıyor? PHP'nin 25 yılı aşkın bir süredir devam eden başarısı, mükemmel bir dil olmasından değil, daha ziyade erişilebilir bir dil olmasından kaynaklanıyor. PHP'nin kurulumu, çalıştırılması ve yazılması kolaydır. Ne yazık ki, berbat kod yazmak da kolaydır, ancak yine de çalışan bir programa sahip olursunuz. PHP'de işleri halletmenin hızlı, kolay ve kirli yollarını gösteren çok sayıda çevrimiçi kaynak vardır. Hızlı ve kolay, elbette; ama aynı zamanda güvensiz, bakımı yapılamaz ve yavaş. Bunun da ötesinde, bir şeyleri çalıştırmak için neredeyse her zaman ilginç kodlar yazmak zorunda kaldığınız bir dildi. Bu kesinlikle 10 yıl önce de böyleydi. Ancak, en azından PHP'nin modern özelliklerini benimsemeyi seçerseniz, o günler geride kaldı. Son on yılda dikkate değer bir evrim geçirdi ve her gün keyifle kullandığım bir dil haline geldi. PHP pek çok kişinin hatırladığı o eski berbat dil değil. Günümüzde bu dil yüksek kârlı, büyük ölçekli uygulamalar oluşturmak için kullanılıyor ve bunu da gayet iyi yapıyor. PHP 7 ve PHP 8.0 ile dilin sözdizimi ve özellik setinin yanı sıra performansında da önemli bir gelişme kaydettik. Buna ek olarak, Laravel ve Symfony gibi çerçevelerle birlikte çok yönlü ve gelişen topluluklar ortaya çıktı. PHP hala mükemmel bir web geliştirme dili değil. Tıpkı Ruby, Python, Java, C# ve JavaScript'in de olmadığı gibi. Yine de PHP programcıları harika sonuçlar elde etmeyi başarıyor ve bunu yaparken kod yazmaktan keyif alıyorlar. Bu blog boyunca PHP'yi olduğu gibi ele alacağız.
Bu blog sizi modern PHP uygulamalarıyla tanıştırmayı amaçladığından, son on yılda dile ne olduğunu bilmek önemlidir. PHP 7'nin geliştirilmesi ve piyasaya sürülmesiyle birlikte PHP dünyası önemli ölçüde değişti. PHP 7.x sürümlerini dil için bir olgunluk aşaması olarak düşünmeyi seviyorum, bu yüzden başlayacağımız yer burası. İlk ve en önemlisi, PHP 7.0 önemli bir performans artışı ile birlikte geliyor. PHP'nin çekirdeğinin büyük bir kısmı yeniden yazıldı ve bu da gözle görülür bir fark yarattı. Sadece PHP 7 veya daha üstünü kullanarak uygulamanızın iki veya üç kat daha hızlı çalıştığını görmek nadir değildir. PHP'nin temel değerlerinden biri olan geriye dönük uyumluluğun korunması sayesinde, eski PHP 5 kod tabanları bu değişikliklerden faydalanmak için kolayca güncellenebilir.
PHP 5.6, beş serinin en son sürümüydü ve bir sonraki sürüm 7.0 olacaktı. Sürüm 6'ya ne oldu? Çekirdek ekip bunun üzerinde çalışmaya başladı, ancak önemli iç uygulama sorunları olduğunu oldukça geç fark etti. Motoru bir kez daha elden geçirmeye karar verdiler, ancak "PHP 6" zaten yazılıyordu. Karışıklığı önlemek için 6. sürümü atlamaya ve doğrudan PHP 7'ye geçmeye karar verdiler. PHP 6'nın hikayesi topluluk içinde bir folklor haline gelmiştir. Hikayeyi derinlemesine öğrenmek istiyorsanız, hızlı bir Google araması yapabilirsiniz.
PHP 7.0 bir dönüm noktası olsa da, o zamandan beri onu da geride bıraktık. PHP 7.0 zaten eski sayılır: 2015'te yayınlandı ve beş yıl sonra artık güncelleme almadı. 5.x sürümlerinin sonlarında PHP katı bir sürüm döngüsü benimsedi: her yıl yeni bir sürüm geliyor. Çoğu sürüm iki yıl boyunca aktif olarak desteklenir, ardından bir yıl ek güvenlik desteği verilir. Üç yıl sonra, kullandığınız sürüm artık güvenlik yamaları almadığı için güncelleme yapmanız gerekir. Muhtemelen, en son sürümü takip etmek daha da iyidir. Her zaman küçük kırılma değişiklikleri ve kullanımdan kaldırmalar olacaktır, ancak çoğu kod kolayca güncellenebilir. Hatta mevcut kod tabanınızı alan, yükseltme hatalarını tespit eden ve bunları otomatik olarak düzelten harika otomatik araçlar bile vardır.
Not: Bu otomatik araçlardan biri, yıllar içinde popülerliği artan Rector olarak adlandırılır: https://github.com/rectorphp/rector. Rector, kod tabanınızı çeşitli PHP sürümlerinde otomatik olarak güncelleyebilir ve eski projelerle uğraşmak zorunda kalırsanız bilmeniz gereken harika bir araçtır.
Önümüzdeki birkaç makalede, PHP 7 ve PHP 8.0'a eklenen özellikleri derinlemesine inceleyeceğiz. Bunu yapmadan önce, bu bölümdeki daha küçük ama önemli değişikliklere bakarak başlayacağız.