Smyfony projenizde yetki kontrolü yapmak için symfony'nin voters özelliğini kullanabilirsiniz. Bu yazımda symfony voters nedir ve yetki kontrolleri voters ile nasıl yapılırı anlatacağım.
Symfony Voters Nedir?
Symfony Voters, projenizde yetki kontrollerini yönetebilmenizi ve tüm yetki kontrollerini tek bir yere toplamızı sağlayan yetki kontrol mekanizmasıdır.
Örneklemek gerekirse bir makalenin sadece makale yazarı tarafından görüntülenmesine ve düzenlenebilmesine izin vermek istersek bunu controller içerisinde ekleceğimiz...
Laravel observers ile bir model için oluşturduğunuz tüm olay takibini(listener) bir sınıf içerisine toplayabilirsiniz. Eloquent tarafından yönetilen modellerin olay takiplerini bir araya getirmek laravel observers ile çok kolay olacaktır. Bu yazımda laravel observers'ın nasıl kullanıldığını ve nerelerde kullanılabileceğiniz dair ufak önerilerden bahsedeceğim.
Laravel Observer Nasıl Oluşturulur?
Laravel observer oluşturmak için laravel'in bir çok konuda yardımımıza yetişen php artisan komutlarından faydalanıyoruz. make:observer...
Laravel'de cache kullanımı uygulamalarınızda performans artışı sağlamak için kullanılabilecek güzel bir yöntemdir. Cache kullanımı hem sunucunuzdaki hem de veritabanınızdaki yükü büyük ölçüde azaltacak ve işlemlerin hızlanmasını sağlayacaktır.
Bu yazımda laravel'de cache kullanımından ve kullanım için yapılacak ayarlardan bahsedeceğim.
Yapılandırma
Laravel cache kulanımı için farklı seçeneklere sahiptir. Bu seçenekler arasından en uygun olanını uygulamanızın büyüklüğüne ve sistem kaynaklarınıza göre seçebilirsiniz. Bu seçenekleri uygulamanızın...
Uygulama yazarken bazen client işlemlerine ihtiyacımız olur ve farklı kaynaklardan bilgi, görsel vs gibi bilgiler almamız gerekebilir. Burada anlatacağım örnekte ben PHP'nin file_get_contents fonksiyonunu başka siteden resim çekmek için kullanıyorum. Buraya kadar her şey olağan peki resmi çekmek istediğimiz site bize geç cevap verirse ya da çekmek istediğiniz resmin boyutundan dolayı işlem uzun sürerse ne olacak? Böyle bir durumda...
Büyük merakla beklenen PHP 8, 26 Kasım 2020 günü yayınlandı. Yeni sürümle birlikte gelen değişiklikler, yenilikler ve aynı zamanda performans iyileştirmeleri mevcut. Bu yazımda PHP 8 ile birlikte nelerin değiştiğini paylaşacağım. Öncelikli olarak hayatımıza katılacak yeni özelliklerden bahsedeceğim. Sonrasında JIT (Just In Time) konusundan bahsedeceğim ve son olarak eski sürüme göre değiştirilen ve mevcut çalışan uygulamaların PHP 8'e güncellenmesinde...
PHP method zincirleme(method chaining) oluşturulan sınıfın methodlarının zincir gibi ardı ardına kullanılabilmesidir. OOP bize sağladığı güzelliklerden birisidir. Method zincirleme kullandığınız zaman sınıfın erişmek istediğiniz tüm methodlarını tek bir satırda kullanabilirsiniz.
PHP Method Zincirleme Kullanım Örneği
Bir sınıfın methodlarında zincirleme yöntemini kullandığınız da aşağıdaki gibi kullanılabilecektir. Aşağıdaki örnekte $class isimli sınıftan method1(), method2() ve method3() isimli methodlar çağırılmıştır.
$class->method1()->method2()->method3();
Method Zincirleme Olmadan Kullanım Örneği
Sınıf...
İster tek başınıza çalışın isterseniz bir ekip ile yazdığınız ya da başkası tarafından yazılan kodu hatırlamak ya da anlamak kolay olmayabiliyor. Daha önceden yazmış olduğunuz bir methodun ne iş yaptığını, aldığı parametrelerin tiplerinin ne olması gerektiğini ya da ne return ettiğini anlamak için gerekli işlemleri yapmadıysanız bunu anlamak ve çözmek zaman alabiliyor.
Bu sorunun çözümü için yazdığınız methodda gerekli...
PHP tür dayatma(type declaration), kod okuma ve anlamada oldukça faydalı olan ve beklenmedik durumlarda yanlış tip de veri gelmesi durumunu engelleyen güzel bir özelliktir. Bazı durumlarda belli parametrelerin sadece izin verilen tiplerde ya da belli bir tipde olmasını bekleriz. Bu gibi durumlarda parametre için ya da return edilen değer için tip belirlemesi yapabilirsiniz. Bu sayede yanlış veri gelmesini...
Php ile excel oluşturmak için farklı kütüphaneler mevcut. Bu yazımda PhpSpreadsheet kütüphanesini kullanacağım. Eğer OOP(Object Oriented Programming) seviyorsanız bu kütüphaneyide seveceğinizi düşünüyorum. Bu kütüphaneyle xlsx ya da xls uzantılı excel dosyaları oluşturabilirsiniz.
Aşağıdaki örnek Symfony ile hazırlanmıştır. Symfony ile excel dosyası oluşturup indirmek için örneği kullanabilirsiniz.
Kaynak: https://github.com/PHPOffice/phpspreadsheet/
Döküman: https://phpspreadsheet.readthedocs.io/en/latest/
Gereksinimler
Php 7.2 ya da daha yüksek bir sürümComposer
PhpSpreadsheet Yükleme
Yükleme işlemi için composer kullanacağız....