Symfony Custom Monolog Handler

Custom handler yazarak loglama işlemini soyutlamak istiyorum. Yani Monolog sınıfından instance alıp, log yazdırdığımda ben ne işlem yapmak istiyorsam, o şekilde çalışmasını istiyorum. Benim senaryomda log oluşturulduğunda bunu alıp, Guzzle ile http isteği atarak, Google Cloud Logging servisine yazması. Google Cloud tarafında Google Cloud Functions var ve Http Request ile tetikleniyor, tek yapmam gereken buraya… Read More »

Symfony’de Redis Servisinin Kullanımı

Bu yazıda makinemize Symfony içinde Redis servisine kayıt kaydedip, ardından kaydettiklerimizi çekip, silmek istediklerimizi de sileceğiz. Bu örneği ikiye ayırabiliriz; Symfony Controller tarafından isteğimizi belirtip, Symfony Servisleri içinde istediğimiz işlemi gerçekleştireceğiz. Makinede Redis servisinin kurulu olduğunu varsayarak, Redis servisini Php ile konuşturmamıza yarayan paketi de buradan kurabilirsiniz. Kurulumu tamamladıktan sonra aşağıdaki satırı php.ini dosyasına eklemeyi unutmayın.… Read More »

Google Cloud Functions + Google PubSub + Google BigQuery

Öncelikle aşağıdaki açıklamalarla başlamak istedim; Google Cloud Functions; Sunucu barındırmadan ve yönetmeden Node.js kodlarımızı yazarak, bu Node.js fonksiyonunu tetikleyerek istediğimiz işlemleri yaptırabiliyoruz. Bu fonksiyonu tetikleme yöntemleri; Http Request, Google Storage ve Google PubSub. Google PubSub: Bağımsız uygulamalar arasında mesajlar gönderip almanıza izin veren tamamen yönetilen bir gerçek zamanlı mesajlaşma servisidir. Google BigQuery: Büyük ölçekli veri analizi için… Read More »

Symfony KnpPaginatorBundle ile Pagination

Knp firmasının KnpPaginatorBundle isminde sunduğu bundle’ı kullanacağız. Bu bundle bize query string ile parametreleri alıp, ona göre işlemler yapmamızı sağlayan bir arayüz sunuyor. Öncelikle kurulumu için aşağıdaki komutu giriyoruz. Kurulum tamamlandıktan sonra AppKernel.php içinde ‘bundles’ array’i içine aşağıdaki satır ekleniyor. Bunu da yaptıktan sonra sıra geldi konfigürasyon işlemlerine. Ben örnek olması açısından aşağıda yapılabilecekleri örnek olarak… Read More »

Nginx Symfony Konfigürasyonu ile Harici Php Dosyalarını Çalıştırma

Selam arkadaşlar, bu yazıda Nginx tarafında Symfony konfigürasyonumuzu yaptıktan sonra harici, 3.parti uygulamarı Symfony projemize dahil etmeyi göstereceğim. Öncelikle aşağıdaki gibi Symfony konfigürasyonumuzu düzenliyoruz. Kendi Symfony projemde bana Kcfinder eklentisi lazım oldu. Bunun için Kcfinder php dosyalarını projeme dahil ettim ama yukarıdaki gibi Nginx konfigürasyonumuzda bu dosyalar çalıştırılmaz, statik dosyaymış gibi istemci bilgisayarına indirilir. Bunun önlemek… Read More »

Android WebView ile ProgressBar Kullanımı

Bu yazıdı Android uygulamamızda WebView kullanırken, sayfa açılana kadar ProgressBar gösterimini anlatacağım. Bunun için öncelikle aşağıdaki gibi WebView Activity layout’unu hazırlıyorum.   Çıktımıza baktığımızda aşağıdaki gibi bir görüntü elde ediyoruz. Daha sonra Activity kodlarımızı yazmaya başlayabiliriz. WebViewActivity adında Activity oluşturuyorum ve içine aşağıdaki kodları ekliyorum.   Yukarıda kodları açıklamalarıyla birlikte ekledim. Aşağıdaki ekran görüntülerini görebilirsiniz.     … Read More »

Symfony ile RabbitMQ Kullanımı

Bu yazıda sizlere Symfony framework’ü üzerinde nasıl Rabbitmq kullanabiliriz, onu anlatacağım. Öncelikle Rabbitmq için gerekli olan paketi kurmamız gerekiyor.Bunun için aşağıdaki satırı, ‘composer.json içerisine ekliyoruz. ‘”php-amqplib/rabbitmq-bundle”: “~1.6” Şimdi de paketi kuruyoruz. Aşağıdaki komutu çalıştırmak yeterli, böylece güncelleme varsa, onları da alıyoruz. Başarılı bir şekilde işlem bittikten sonra Symfony’de AppKernel.php dosyamıza aşağıdaki gibi paketi ekliyoruz. ‘new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),… Read More »

BigQuery’den Haftalık Veri Çekmek

BigQuery tarafında tablomuzda gün gün öğrencilerin derslere toplam giriş saatini tuttuğumuz bir senaryomuz var. Gün gün değil de haftalık veri çekebileceğimiz aşağıdaki sorguyu hazırladım. Aşağıdakine benzer, siz de kendi senaryonuza göre haftalık veri çekebilirsiniz. ( BigQuery için Legacy SQL kullanmadım.) Sorgumuz bu kadar. Fonksiyonları yanlarındaki yorum satırlarıyla açıkladım. Diğer fonksiyonlara buradan bakabilirsiniz.

Symfony Kernel Events

Symfony içinde gelen istek ve cevapları, dinleyip, aksiyon alabileceğimiz HttpKernel modülü bulunur. HttpKernel istek veya cevap süreci boyunca olaylar fırlatır ve bu olaylara göre işlemler yaptırabiliriz. Bunlara Kernel Events(çekirdek olayları) denir.  Şimdi bunlardan bazılarına değineceğim. Senaryolarınıza göre bunları kullanmaya başlayabilirsiniz. kernel.view Normalde Symfony Controller içindeki herhangi bir action Response objesinden bir veri döndürmelidir. Eğer döndürmezse hata alınabilir. Controller… Read More »

Symfony Image Resize

Symfony için upload edilen resim dosyalarını kalitesi bozulmadan istediğimiz boyutlarda resize eden güzel bir bundle’dan bahsedeceğim. Örneği Symfony2.8 ve Symfony3.1 için denedim. Bunun için Gregwar/ImageBundle kullanıyorum. Öncelikle kurulum için composer.json dosyasımıza dökümantasyon gibi require altına aşağıdaki satırı ekliyorum. Bu yazı yazılırken son sürümü; “2.1.2” bunu da deneyebilirsiniz. Ardından “composer update” dedikten sonra Symfony projemize gerekli olan… Read More »