Kodun Anatomisi
Dün hangi işletim sistemini kullanırsanız kullanın kurulumu tamamladık. Bugün, yazdığımız kodların "çorbaya" (Spagetti Kod) dönmemesi için kullanılan muazzam bir yapıyı, MVC (Model-View-Controller) mimarisini öğreneceğiz.
VS Code İpucu 💡
Dersi uygularken sürekli klasörlerde kaybolmayın. Profesyoneller gibi davranın:
- Dosya aramak için Ctrl + P (Mac: Cmd + P) tuşuna basın.
- Örneğin web.php yazın ve enter'a basın. Şimşek hızında dosya karşınızda!
Adım 1: MVC Nedir? (Restoran Analojisi)
Kafanızda şöyle canlandırın, asla unutmazsınız:
- Rota (Hostes): Müşteriyi (Kullanıcıyı) kapıda karşılar ve masasına yönlendirir.
- Controller (Garson): Siparişi alır, mutfağa iletir, pişen yemeği getirir. Beyin takımıdır.
- Model (Mutfak): Yemeğin piştiği, verilerin işlendiği yer.
- View (Sunum): Müşterinin önündeki tabak (Görünüm/HTML).
Adım 2: İlk Rotamız (Kapıdaki Karşılayıcı)
VS Code'da routes/web.php dosyasını açın. Laravel'e şunu söyleyeceğiz: "Biri /panel adresine giderse, onu Dashboard yöneticisine gönder."
use App\Http\Controllers\DashboardController; // Birazdan oluşturacağız
Route::get('/panel', [DashboardController::class, 'index']);
Adım 3: Controller Oluşturma (Garsonu Çağırın)
Şimdi bu isteği karşılayacak yöneticiyi oluşturacağız. VS Code Terminalini açın (Ctrl + ") ve şu evrensel komutu yazın:
php artisan make:controller DashboardController
Bu komut app/Http/Controllers klasöründe dosyamızı oluşturur. İçine girip index metodunu yazalım:
public function index()
{
// Mutfakla (Model) henüz işimiz yok, direkt sunum (View) yapıyoruz.
return view('dashboard');
}
Adım 4: View Oluşturma (Sunum Zamanı)
Son olarak kullanıcının göreceği ekranı yapalım.
- resources/views klasörüne sağ tıklayın -> New File.
- Adını dashboard.blade.php koyun.
- İçine şu HTML kodlarını yazın:
<!DOCTYPE html>
<html>
<head>
<title>LaraFreelancer Panel</title>
</head>
<body>
<h1>Yönetim Paneline Hoşgeldiniz</h1>
<p>İşletim Sisteminiz: {{ PHP_OS }}</p>
<p>Proje dizini: {{ base_path() }}</p>
<hr>
<p>Burada freelancer projelerimizi yöneteceğiz.</p>
</body>
</html>
(Not: {{ }} işaretleri Laravel'in Blade motorudur. PHP kodlarını HTML içine gömmemizi sağlar.)
Adım 5: "Save Point" Almak (Git Commit)
Kodlarımız çalışıyor (php artisan serve ile test edebilirsiniz). Ama işimiz bitmedi. Profesyonel geliştirici, çalışan kodu yedekler.
VS Code terminaline sırasıyla şunları yazın:
- git add . (Tüm değişiklikleri paketle)
- git commit -m "Gün 2: MVC yapısı kuruldu ve Dashboard sayfası eklendi" (Paketi etiketle)
- git push (Paketi GitHub'a gönder)
Artık GitHub reponuza girdiğinizde bugünün tarihini ve kodlarını göreceksiniz. Bilgisayarınız yansa bile projeniz güvende!
🎯 GÜNÜN GÖREVİ (Challenge)
Okumak yetmez, parmaklar çalışacak!
- Terminalden ProjectController adında yeni bir controller oluştur.
- routes/web.php içinde /projelerim rotasını tanımla.
- Basit bir view dosyası oluşturup ekranda "Projelerim Yakında Burada!" yazdır.
- Değişiklikleri GitHub'a pushla.
- Web sitemdeki yorumlara GitHub Commit Linkini bırak. Kodlarını inceleyip yıldızlayacağım! ⭐