Çoklu tip kullanımı oylanıyor

PHP’nin 7. sürümü itibariyle değişkenler için tip belirlenebilmeye başlanmıştı. Lakin birden fazla tipte değeri olabilmesi mantıklı olan değişkenler için tip belirleme özelliği kullanılamıyordu ve aşağıdakine benzer, tip güvenliğinden yoksun çözümler üretiliyordu:

Birden fazla tipe sahip olan değişkenler için şu andaki kullanım

Yaklaşık 1 ay önce oluşturulan öneri eğer kabul edilirse artık bir değişken için birden fazla tip kabul edilebilir olacak ve şuna benzer bir şekilde bu özellikten yararlanılabilecek:

Önerilen çoklu tip kullanımı

Çoklu tip kullanımı önerisi şu an oylama aşamasında ve kabul edilecek gibi gözüküyor.

Kaynaklar:

Symfony’de EventListener yazmak artık daha kolay

Symfony4.4 ile birlikte artık EventListener servisinin hangi event ile çalıştığını konfigürasyon dosyalarına yazmamıza gerek kalmıyor. İlgili EventListener servisinin __invoke metoduna dinlemek istediğimiz Event nesnesini argüman olarak göndermemiz yeterli. Bunu yapmamız için ise aşağıdaki autoconfiguration ayarını yapmamız gerekiyor:

autoconfiguration tanımı

Bu ayarlamayı yaptıktan sonra EventListener’larımızı aşağıdaki gibi yazabiliyoruz:

Örnek EventListener kullanımı

Symfony4.4 Kasım ayında yayınlanacak.

Kaynak: https://symfony.com/blog/new-in-symfony-4-4-simpler-event-listeners

Symfony giriş sayfası yenilendi

Bir symfony projesi ilk kez kurulduktan sonra ana sayfa açıldığında aşağıdaki gibi bir karşılama sayfası çıkıyordu:

Symfony4.4 sürümünden itibaren ise aşağıdaki gibi bir karşılama ekranı çıkacak:

Symfony4.4 LTS sürümü, Kasım ayında çıkacak.

Kaynak: https://symfony.com/blog/new-in-symfony-4-4-improved-welcome-page

Symfony Messenger’a Doctrine Temizleme Middleware’i Eklendi

Symfony4.4 sürümü için Messenger kütüphanesine Doctrine EntityManager’ın temizlenebilmesini sağlayan middleware eklendi. Bu sayede hem uzun süren işlemler için bellek yönetimi iyileştirilmiş olacak hem de bu tür işlemlerde veritabanı üzerinde yapılan işlemler daha güvenilir verilerle yapılabilecek.

Kaynak: https://symfony.com/blog/new-in-symfony-4-4-messenger-middleware-to-clear-doctrine-entity-manager

Limit üstü gönderilen istekler için hata yakalama olasılığı tartışılıyor

php.ini’de girilen post_max_size boyutunu aşan bir istek gönderildiğinde php kodu tarafında sanki hiç POST verisi gönderilmemiş gibi davranılıyor. Aynı durum bir istekte gönderilecek maksimum dosya sayısını belirten max_file_uploads değişkeni için de geçerli. Bu değişkende tanımlanan sınırdan daha fazla dosya sayısı gönderilen istekler için php tarafında sanki hiç dosya gönderilmemiş gibi davranılıyor, yani $_FILES tamamen boş geliyor.

Bu tür durumlar için genellikle gönderilen request metodunun kontrol edilmesi ve istenen verilerin bu şekilde gönderilip gönderilmediğinin kontrol edilmesi öneriliyor.

Bu tür limit aşılması durumunda php tarafında ilgili hatanın yakalanabilmesi için php geliştiricileri arasında bir tartışma başladı. Aşağıdaki linkten kontrol edebilirsiniz:

https://externals.io/message/107354

Api Platform 2.5 Yayında!

Symfony kullanılarak geliştirilen api-platform’un 2.5 sürümü yayınlandı. Bu sürümde şu değişiklikler yapıldı:

  • ReactAdmin bileşenleri daha kolay özelleştirilebilir hale geldi.
  • Artık Next.js ve Quasar kullanarak da arayüz oluşturulabiliyor.
  • İşlevsel testler için yeni client oluşturuldu.
  • Graphql desteği arttırıldı.
  • JSON Merge Patch desteği geldi.
  • Entitylerden Json Schema üretilebilir hale geldi.
  • OpenApi desteği geliştirildi.
  • SymfonyCasts ile resmi ortaklık sağlandı. Artık api-platform videolarına SymfonyCast sitesindeki ana menüden doğrudan erişilebilecek.
  • Hacktoberfest için bazı issuelar etiketlendi.

Ayrıca hacktoberfest içerisinde api-platform için 3 PR katkıda bulunan geliştiricilere Les-Tilleuls şirketi bazı sürpriz hediyeler gönderecekmiş. Bunun yanında api-platform 2 milyondan fazla indirilmiş ve github’da da 5.000 yıldıza yaklaşmış.

Kaynak: https://dunglas.fr/2019/09/api-platform-2-5-revamped-admin-new-api-testing-tool-next-js-and-quasar-app-generators-patch-and-json-schema-support-improved-openapi-and-graphql-support/

Eylül ayında neler oldu?