Symfony Nedir?
Symfony, PHP ile web uygulamaları geliştirmek için kullanılan açık kaynaklı bir framework'tür. Geliştiricilere güçlü bir altyapı sunar ve karmaşık web uygulamalarını hızlı ve verimli bir şekilde oluşturmanıza yardımcı olur. Symfony'nin sunduğu bir dizi bileşen (components), modüler yapısı ve esnek yapısı, onu büyük projelerde kullanmak için ideal kılar.
Symfony Kurulumuna Başlamadan Önce
Symfony'yi kullanmaya başlamadan önce bazı temel gereksinimleri karşılamanız gerektiğini unutmayın:
- PHP 8.0 veya daha yeni bir sürüm: Symfony, PHP'nin son sürümlerini kullanır, bu yüzden PHP'nin güncel bir sürümüne sahip olmanız önemli.
- Composer: PHP için bir bağımlılık yönetim aracıdır ve Symfony projelerinde çok önemli bir rol oynar. Composer'ı yüklemeden Symfony'yi kullanmak neredeyse imkansızdır.
1. Adım: PHP ve Composer Yüklemesi
Eğer PHP ve Composer sisteminizde yüklü değilse, aşağıdaki adımları izleyerek yüklemeyi tamamlayabilirsiniz.
PHP Yüklemesi:
PHP’nin en son sürümünü [PHP'nin resmi sitesinden](https://www.php.net/downloads.php) indirebilirsiniz. Linux ve Mac kullanıcıları, terminal üzerinden aşağıdaki komutları kullanarak PHP'yi kolayca yükleyebilirler:
sudo apt install php php-cli php-mbstring php-xml php-curl
Composer Yüklemesi:
Composer, PHP'nin bağımlılıklarını yönetmek için kullanılır. Composer'ı yüklemek için terminalde aşağıdaki komutları kullanabilirsiniz:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
2. Adım: Symfony Yüklemesi
Symfony’yi kurmak için Composer'ı kullanmanız gerekecek. Symfony'nin en son sürümünü yüklemek için terminalde şu komutu kullanabilirsiniz:
composer create-project symfony/skeleton my_project_name
Bu komut, Symfony'nin temel yapı taşlarını içeren yeni bir proje oluşturur. Eğer Symfony'yi tamamen kurmak ve daha fazla özellik eklemek istiyorsanız, aşağıdaki komutla Symfony Full Stack uygulamasını başlatabilirsiniz:
composer create-project symfony/website-skeleton my_project_name
3. Adım: Symfony Sunucusunu Çalıştırma
Symfony'yi başarıyla kurduktan sonra, gelişmeye başlamak için yerel bir sunucu çalıştırabilirsiniz. Symfony, dahili bir sunucu sağlar, bu da geliştiriciler için oldukça kullanışlıdır. Symfony'nin dahili sunucusunu başlatmak için şu komutu çalıştırabilirsiniz:
cd my_project_name
php bin/console server:run
Bu komut, Symfony uygulamanızı yerel sunucuda çalıştıracaktır ve tarayıcıdan erişim sağlayabilirsiniz.
4. Adım: Symfony Yapılandırma
Symfony projelerinde yapılandırma, genellikle `.env` dosyaları ve `config` klasöründe yapılır. Bu dosyalar, uygulamanızın çalışma ortamını, veritabanı bağlantılarını ve diğer ayarları içerir.
Örneğin, `.env` dosyasındaki veritabanı ayarlarını şu şekilde yapılandırabilirsiniz:
DATABASE_URL="mysql://username:password@127.0.0.1:3306/db_name"
Ayrıca, Symfony projelerinde birden fazla ortam kullanabilirsiniz. Örneğin, geliştirme ve üretim ortamları için farklı yapılandırmalar tanımlayabilirsiniz.
5. Adım: Symfony Bileşenlerini Kullanma
Symfony’nin gücü, sunduğu bileşenlerden gelir. Bileşenler, projeye farklı özellikler ekler. Mesela, Twig şablon motorunu, Doctrine ORM ile veritabanı işlemleri yapmayı veya Security bileşeni ile kullanıcı doğrulama işlemleri yapabilirsiniz.
Symfony, ihtiyacınıza göre bileşenleri tek tek veya birlikte kullanmanıza imkan verir. Örneğin, Twig şablon motorunu yüklemek için şu komutu kullanabilirsiniz:
composer require twig
6. Adım: Symfony ve Testler
Symfony, otomatik testler yazmayı oldukça kolaylaştırır. Özellikle, uygulamanızın işlevselliğini test etmek için PHPUnit ile entegrasyon sağlar. Symfony projenizde testler yazmak için şu komutu kullanabilirsiniz:
composer require --dev phpunit
Sonrasında `tests/` klasörü altında testlerinizi yazabilir ve uygulamanızın doğru çalışıp çalışmadığını kontrol edebilirsiniz.
Sonuç
Symfony’yi kurmak ve yapılandırmak oldukça kolaydır. Bu yazıda, Symfony'yi kurmak ve temel yapılandırmalarını nasıl yapacağınızı gösterdik. Symfony, esnekliği ve modüler yapısıyla geliştiricilere büyük kolaylık sağlar. Bu yazı ile birlikte, Symfony’nin gücünü keşfetmeye bir adım daha yaklaştınız.