SYMFONY BUNDLE ÖZELLEŞTİRME

Umut Ramazan Gedik
3 min readJun 20, 2022

--

Bundle nedir

Paket, diğer yazılımlardaki bir eklentiye benzer, ancak daha da iyidir. Symfony çerçevesinin temel özellikleri paketlerle uygulanır (FrameworkBundle, SecurityBundle, DebugBundle, vb.) Bunlar ayrıca üçüncü taraf paketler aracılığıyla uygulamanıza yeni özellikler eklemek için kullanılır . Uygulamanız için yazdığınız tüm kodlar paket halinde düzenlenmiştir. Symfony açısından bakıldığında bir paket, tek bir özelliği (blog, api, …) uygulayan ve diğer geliştiricilerle kolayca paylaşılabilen yapılandırılmış bir dosya kümesidir .

Bundle Oluşturma

Bundle oluşturma

İlk Önce projemizde src dosyasının içerisine bir klasör oluşturuyoruz bundlemizin içerisindeki kodlar burada olacak.

Bundle oluşturma

Oluşturduğumuz dosyasının içerisine TestBundle Klasörü oluşturuyoruz sonrasında TestBundle dosyasının içerisine Controller , Resources klasorünü ve UmutTestBundle.php dosyasını oluşturucaz.

Bundle oluşturma

UmutTestBundle.php dosyasının içerisine namespace mi tanımlayıp Bundle kompanentimi extends ediyorum.

Bundle oluşturma

Config Dosyasının içerisinde bulunan bundle.php e giriyoruz. Bundles dosyası projede kullandığınız bundları enable etmemizi sağlıyor. Bu dosyanın içerisine; “App\Umut\TestBundle\UmutTestBundle::class=>[‘all’=>true],” Kodunu yazıyorum. İlk parametrede bundlemin classını giriyorum. 2. parameterede hangi environment da çalışmasını istediğim yeri giriyorum.

Bundle oluşturma

TestBundle Dosyasının içerisine BundleTestController.php Dosyasını oluşturuyoruz. Burada bundlemi kontrol edebilmem için return olarak response dönüyorum.

Son olarak oluşturduğum bundle’me erişebilmek için routinglerini entegre etmem gerekiyor.

Bundle oluşturma

Config dosyasının içerisindeki routes dosyasına giriyoruz. İçerisinde anotations.yaml olması gerekiyor eğer sizde bu dosya yok ise bunun için “composer require doctrine/annotations” komutunu terminalinize yazmanız gerekiyor.

Bundle oluşturma
Bundle oluşturma

Annotations.yaml dosyasının içerisine oluşturduğum controllarımı yerini belirtiyorum. Şimdi deniyelim.

Bundlemiz Sıkıntısız şekilde oluşturuldu. Okuduğunuz İçin Teşekkür Ederim.

--

--