Web Uygulamaları İçin Yüksek Performanslı PHP Frameworkü. Biraz daha açarsak Symfony Nedir sorusuna faha farklı yanıtlarda verebiliriz.

  • Symfony PHP Bileşenler seti ‘dir
  • Web Uygulama Framework ‘ü dür
  • Bir felsefe ‘dir
  • Bir topluluk ‘dur

”Symfony, Tümü birlikte uyum içinde çalışan PHP bileşenlerinden oluşan ve felsefesi olan  bir topluluktur.”

PHP programlama dili için geliştirilmiş çok popüler bir Framework’dür.

Normal PHP ile 5 birim zamanda yaptığınız bir yazılımı, 1 birim zamanda çıkarabilirsiniz.

Çok sayıda hazır kütüphanesi (bundle) bulunduğu için günlerinizi harcayacağınız modülleri bir kaç konsol komutu ile projenize dahil edip, her türlü özelleştirebilirsiniz.

Geniş bir geliştirici kitlesi olduğu için sürekli güncellenir, güvenlik ve stabilite konusunda yükü sizden alır. Bir çok popüler saldırı türlerine karşı (CSRF, XSS, SQL Injection vs.) güvenli geliştirme ortamı sağlar.

Aynı projeye birden fazla yazılımcı kod yazıyorsa, bunların belli bir kurguda kod yazmalarını sağlar.

Terminal (console) komutları ile manuel yaptığınız bir çok şeyi otomatize edersiniz. Örneğin: Bir ürünler tablonuz var. Admin panelinde buna ekle, çıkar, düzenle, listele gibi ekranlar yapmanız belki yarım gününüzü alır. Symfony’de ise yalnızca bir satır kod ve bir kaç sn üretim (generate) süresi.

Assetic özelliği sayesinde “assets” dediğimiz CSS, JavaScript ve resimlerinizi (image) çok daha kolay ve düzenli bir şekilde organize edersiniz.

Dev, test ve prod geliştirme ortamları projenizi sistematize eder.

Doctrine ORM ve Twig Template motoru hali hazırda gelir.

Developer Toolbar sayesinde, yaptığınız her isteğin performans ölçümlemesini yaparsınız. Bulunduğunuz sayfada kaç sorgu çalışmış, bu sorgular ne kadar sürmüş, bu sayfa bellekte ne kadar yük tutmuş, Ajax istekleri ne durumda, vb. gibi bir çok parametreyi takip edebilirsiniz.

Dizin yapısı

Bir Symfony uygulamasının dizin yapısı oldukça esnektir, ancak önerilen yapı şu şekildedir:

app/ Uygulamanın konfigürasyonu, şablonlar ve çeviriler.

bin/ Çalıştırabilir dosyalar (örneğin, bin/console).

src/ Projenin PHP kodu.

tests/ Otomatik testler.

var/ Üretilen dosyalar (önbellek, günlükler, vb.).

vendor/ Üçüncü-parti programlar.

web/ Web ana dizini.

Symfony dizin yapısını detaylı anlattığım makaleyi okuyarak Symfony dizini hakkında bilgi sahibi olabilirsiniz.