Symfony Nedir ve Neden Tercih Edilir?
Symfony, PHP ile web uygulamaları geliştirmek için kullanılan açık kaynaklı, modüler bir framework'tür. Kullanıcı dostu yapısı, güçlü özellikleri ve geniş topluluğu sayesinde geliştiriciler arasında oldukça popülerdir. Symfony, her seviyeden geliştiriciye hitap eden araçlar sunar ve projelerinizi hızlıca başlatmanızı sağlar.
Symfony Kurulumuna Başlamak
Symfony’yi kullanmaya başlamadan önce, bilgisayarınızda birkaç ön şartın olması gerekiyor. Bu şartları sağlayarak başlamak, size ciddi bir zaman kazancı sağlar.
Symfony, PHP 7.2.5 veya daha üst bir sürüm gerektirir. Eğer PHP yüklü değilse, öncelikle PHP'nin en güncel sürümünü indirmeniz gerekecek. Ayrıca, Composer adı verilen bağımlılık yönetim aracını da kurmamız lazım. Composer, PHP projelerinizde dış kütüphaneleri ve paketleri kolayca yönetmenizi sağlar.
PHP Kurulumu (Ubuntu için):
```bash
sudo apt update
sudo apt install php php-cli php-xml php-mbstring unzip curl
```
Composer Kurulumu:
Composer'ı kurmak için terminal üzerinden şu komutu kullanabilirsiniz:
```bash
curl -sS https://getcomposer.org/installer | php
```
Composer’ı global olarak yüklemek için:
```bash
sudo mv composer.phar /usr/local/bin/composer
```
# Adım 2: Symfony'yi Kurma
Şimdi, Symfony'nin kendisini kurmak için hazırız. Symfony'nin en hızlı kurulum yolu, terminal üzerinden Composer kullanarak yapılır.
```bash
composer create-project symfony/skeleton my_project_name
```
Bu komut, 'my_project_name' isminde yeni bir Symfony projesi başlatır ve gerekli tüm dosyaları kurar.
# Adım 3: Symfony Projesine Giriş
Kurulum tamamlandığında, oluşturduğunuz Symfony projesine girerek geliştirmeye başlamak için şu komutu kullanabilirsiniz:
cd my_project_name
```
Symfony projesi başlatıldığında, projeye özel dosya yapısını görebileceksiniz. Burada en önemli klasörlerden bazıları:
- `src/`: Uygulama mantığınızı burada yazacağınız dosyalar yer alır.
- `templates/`: Görüntü (view) dosyalarınızı burada tutarsınız.
- `public/`: Uygulamanızın halkla paylaşılabilir olan kısmı buraya konur.
Symfony’de Geliştirmeye Başlamak
Artık Symfony projenizi kurduğunuza göre, bir web uygulaması geliştirmek için ilk adımınızı atabilirsiniz. Symfony, MVC (Model-View-Controller) mimarisine dayanır, bu yüzden önce bir Controller, sonra bir View oluşturmak mantıklı olacaktır.
Symfony, controller sınıflarını `src/Controller/` dizininde tutar. Hadi, ilk controller'ımızı oluşturalım!
Aşağıdaki komutu kullanarak yeni bir controller oluşturalım:
```bash
php bin/console make:controller
```
Bu komut, sizden controller için bir isim isteyecektir. Örneğin, “HomeController” yazalım.
```bash
> HomeController
```
Symfony, otomatik olarak `src/Controller/HomeController.php` dosyasını oluşturur ve ilgili template dosyasını da `templates/home/index.html.twig` olarak oluşturur.
# Adım 2: Controller’a Bir Aksiyon Eklemek
Şimdi, HomeController içinde basit bir aksiyon (action) ekleyelim. Controller’a bir yöntem ekleyerek "Hello, Symfony!" mesajını gösterelim.
```php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class HomeController
{
/
* @Route("/", name="home")
*/
public function index(): Response
{
return new Response('Hello, Symfony!');
}
}
```
# Adım 3: Web Sayfasını Görüntülemek
Artık projemiz çalışıyor! Symfony, web sayfasını tarayıcıda görmek için terminalde şu komutu çalıştırın:
```bash
php bin/console server:run
```
Symfony ile İleri Seviye Özellikler
Symfony, veritabanı işlemleri için Doctrine ORM, form işleme, güvenlik gibi gelişmiş özellikler sunar. Bunları kullanarak projenizi daha da geliştirebilirsiniz. Symfony'nin dökümantasyonu oldukça kapsamlıdır ve her adımda size yardımcı olacaktır.
Symfony, güçlü, esnek ve modüler yapısı ile web projelerinizi çok daha hızlı ve verimli hale getirir. Kurulumdan geliştirmeye kadar olan süreçte adım adım neler yapmanız gerektiğini öğrendiniz. Symfony'yi öğrenmek, sizi PHP dünyasında çok daha ileriye taşıyacak ve profesyonel web geliştirme konusunda size büyük avantajlar sağlayacaktır.
Şimdi size düşen, Symfony’yi daha derinlemesine keşfetmek ve projelerinizi hayata geçirmeye başlamak!