Veritabanlarıyla çalışmak için en iyi PHP kitaplıkları seti olan Doctrine sayesinde Symfony, uygulamalarınızda veritabanlarını kullanmak için ihtiyacınız olan tüm araçları sağlar. Bu araçlar MySQL ve PostgreSQL gibi ilişkisel veritabanlarını ve ayrıca MongoDB gibi NoSQL veritabanlarını destekler.
Kurulumu
Doctrine'yi projenize kurmak için PHP'nin vazgeçilmezi composeri kullanacağız.
'composer require symfony/orm-pack' komutu ile projemize paketimizi dahil ediyoruz.
Kurulum tamamlandıktan sonra ilk yapacağımız işlem veritabanı konfigürasyon ayarları yapmak olacak. .env dosyasını açıyoruz.
DATABASE_URL ile başlayan bir satır eklendiğini görüyoruz.
DATABASE_URL="mysql://db_user:[email protected]:3306/db_name?serverVersion=5.7"
Yukarıdaki satırı kendi veritabanı ayarlarınıza göre şekillendirip .env dosyanıza ekleyin. Daha sonra 'php bin/console doctrine:database:create' komutu ile veritabanımızı oluşturuyoruz.
Tablo Oluşturma
Yukarıdaki ayarları yaptıktan sonra artık tablolarımızı oluşturabiliriz. Bunu için öncelikle Entity oluşturmamız gerekiyor. Entity'ler tablomuzun tablolarımızın PHP tarafındaki sınıfı olarak düşünebiliriz.
'php bin/console make:entity' komutu ile bir entity oluşturuyoruz. Ve bize bir kaç soru soruyor. Entity ismi, tablo isimleri vs. Bu alanları doldurup bitirdikten sonra entitymiz hazır. Projenizin gerektirdiği şekilde istediğiniz kadar entity oluşturabilirsiniz.
Oluşturduğumuz Tabloları Veritabanına Gönderme
Entitylerimizi oluşturduk. Sırada bu entityleri veritabanında oluşturmak var. Bunu için 'php bin/console make:migration' komutunu çalıştırıyoruz. Bu bize oluşturduğumuz Entitylerin sql karşılıklarını oluşturuyor. Daha sonra 'php bin/console doctrine:migrations:migrate' komutu ile bu sql komutunu çalıştırıyoruz ve tablolarımız oluştu :)