Adım 1: Gerekli Araçları Kurmak
İlk olarak, Symfony’yi kullanmaya başlamadan önce bazı temel araçlara sahip olmanız gerekiyor. Bu araçlar, PHP, Composer ve bir veritabanı sunucusu olacak.
PHP: Symfony, PHP tabanlı bir framework olduğu için, sisteminizde PHP’nin kurulu olması gerekiyor. PHP'nin en son sürümünü kullanmak her zaman en iyisidir.
Composer: Symfony projelerini yönetmek için Composer adlı bir bağımlılık yöneticisini kullanacağız. Composer, PHP kütüphanelerini ve bağımlılıklarını hızlıca yüklemenize olanak tanır. Composer'ı yüklemek için terminale şu komutu yazabilirsiniz:
curl -sS https://getcomposer.org/installer | php
Veritabanı: Symfony, genellikle MySQL veya PostgreSQL gibi ilişkisel veritabanları ile çalışır. Bir veritabanı sunucusu kurup, erişilebilir olduğundan emin olun.
Adım 2: Symfony Kurulumunu Yapmak
Şimdi, Symfony'yi kurma zamanı! Symfony, kurulumu çok kolay bir framework'tür ve terminal üzerinden Composer komutlarıyla hızla kurulabilir.
Symfony projesi oluşturmak için şu adımları takip edebilirsiniz:
1. Symfony CLI’yı İndirip Kurun
Symfony CLI, Symfony projelerinizi yönetmek için faydalı bir araçtır. Symfony CLI’yı indirip kurmak için terminale şu komutu yazın:
curl -sS https://get.symfony.com/cli/installer | bash
2. Yeni Symfony Projesi Oluşturun
Symfony projenizi oluşturmak için şu komutu yazın:
symfony new my_project_name --full
Bu komut, Symfony'nin en güncel sürümünü ve gerekli tüm bağımlılıkları yükleyecektir.
Adım 3: Geliştirmeye Başlamak
Projenizi kurduktan sonra, geliştirmeye başlayabilirsiniz! Symfony, MVC (Model-View-Controller) mimarisi üzerine inşa edilmiştir, yani uygulamanızı modüler ve bakımı kolay bir şekilde yapılandırabilirsiniz.
Web Sunucusunu Başlatmak: Symfony projenizi geliştirmeye başlamak için yerel geliştirme sunucusunu başlatmalısınız. Terminalden şu komutu kullanarak sunucuyu başlatabilirsiniz:
symfony server:start
Bu komut, yerel sunucuyu başlatacak ve projenize http://localhost:8000 adresinden ulaşabileceksiniz.
Routing (Yönlendirme): Symfony'nin routing sistemi, gelen talepleri doğru controller'a yönlendirmek için kullanılır. Projenizin `config/routes.yaml` dosyasında yönlendirme kurallarınızı tanımlayabilirsiniz. Örneğin:
home:
path: /
controller: App\Controller\HomeController::index
Bu, ana sayfanızın `/` URL’sine gelen talepleri `HomeController`'ın `index` metoduna yönlendirecek.
Controller ve View: Symfony'de her sayfa için bir controller ve bu controller’a karşılık gelen bir view oluşturabilirsiniz. Örneğin, `HomeController` adlı bir controller’ın `index` metodunda bir view render edebilirsiniz.
Controller oluşturmak için şu komutu yazabilirsiniz:
php bin/console make:controller HomeController
Bu komut, `src/Controller/HomeController.php` dosyasını ve `templates/home/index.html.twig` view dosyasını oluşturur.
Adım 4: Symfony ile Veritabanı Kullanmak
Veritabanı işlemleri için Symfony’nin Doctrine ORM’i kullanılır. Veritabanı bağlantısını yapılandırmak için `.env` dosyanızda gerekli veritabanı bilgilerini belirtin.
Veritabanı işlemleri yapmak için, terminal üzerinden `make:entity` komutuyla yeni bir veritabanı modeli oluşturabilirsiniz:
php bin/console make:entity
Bu komut, yeni bir entity oluşturmanıza ve veritabanı şeması ile ilişkilendirilmesini sağlar.
Adım 5: Symfony ile Güvenlik
Symfony, güvenlik konusunda da oldukça güçlüdür. Kullanıcı doğrulama, yetkilendirme ve şifreleme gibi işlemleri kolayca yapılandırabilirsiniz.
Örneğin, kullanıcı doğrulama işlemi için `security.yaml` dosyasını yapılandırarak güvenlik kurallarınızı belirleyebilirsiniz.
firewalls:
main:
pattern: ^/
security: true
http_basic: ~
# İleri düzey güvenlik seçeneklerini buradan ekleyebilirsiniz
Adım 6: Test ve Dağıtım
Geliştirme tamamlandığında, projenizi test etmek ve yayına almak için çeşitli adımlar takip etmeniz gerekir. Symfony, birim testleri, entegrasyon testleri ve fonksiyonel testler yazmak için uygun araçlar sunar.
Symfony uygulamanızı yayına almak için, projenizi barındırma platformuna yüklemeniz gerekecek. Git kullanarak veya FTP aracılığıyla sunucunuza yükleme yapabilirsiniz.
Test yapmak için şu komutu kullanabilirsiniz:
php bin/console make:test
Bu komut, yeni test sınıfları oluşturmanıza olanak tanır.
Sonuç
Symfony ile geliştirme yapmaya başlamak, ilk başta zor gibi görünebilir, ancak doğru adımları takip ettiğinizde oldukça keyifli ve verimli bir süreç haline gelir. Symfony'nin sunduğu güçlü araçlar ve esnek yapılar sayesinde web geliştirme süreciniz daha hızlı ve verimli olacaktır. Adım adım ilerleyerek projelerinizi başarıyla geliştirebilirsiniz.