Bu soru çözüldü.
URL Yapısı
MVC yapısını anlamaya, öğrenmeye çalışıyorum. Yalnız şu konuyu çözemedim:Tek bir kontroller ile şu 3 url şemasını nasıl kontrol edeceğim?
adres.com/makaleler/ -> ana kategori urlsi
adres.com/makaleler/1/ -> sayfalama urlsi
adres.com/makaleler/notlar-sifirlaniyor/ -> makale detay urlsi
Bu 3 url'yi tek controllerden harekete geçirmek mümkün mü? Değilse, her biri için ayrı kontroller mi oluşturacağım? Ama bu da mantıksız geliyor, o zaman kategori sayısınca php dosyası oluşturmak lazım ?
Basit bir örnekleme ile yardımcı olur musunuz?
Cevaplar (3)

Turan Karatuğ
Software Developer - Creator of TitanMVC4 yıl önce
Örneğin, databasedeki makaleleri listelediğimiz ve listelenen bu makalelerden herhangi birine tıklandığında detaylarını görebildiğimiz bir yapı kurmak istiyoruz.
Bunun için Makale controller'ı oluşturup index methoduna makale listeleme sayfamız için gerekli kodları yazıyoruz. Model'den sorgulanıp gelen makale listesini view dosyamıza gönderiyoruz.
Makale detay sayfası için ise, yine Makale controller'ına makaleDetay adında bir method ekliyoruz. Bu method isteğimize göre ilgili makalenin id'sini ya da slug'ını parametre olarak almalı. Parametreden gelen veri ile makale tablomuzdan ilgili makaleyi seçip view'a gönderiyoruz.
Böylece tek bir controller içerisinde her iki sayfayı da oluşturmuş olduk. Sıra geldi rota tanımlamaya. Bunun için /App/Config/Routes.php dosyasını açıp aşağıdaki gibi rotalarımızı giriyoruz;
Route::get('/makaleler', 'Makale@index');
Route::get('/makaleler/(d+)', 'Makale@makaleDetay');
Yukarıdaki ikinci rotada kullanılan regexp yalnızca numeric karakterlerin parametre olarak verilebileceğini gösteriyor. Slug kullanmak isterseniz (w+)
desenini işiniz görecektir.Ayrıntılı bilgi için kılavuzdaki "Temel Konular" ana başlığı altındaki konuları incelemenizi tavsiye ederim.
http://v2.titanphp.com/doc

Turan Karatuğ
Software Developer - Creator of TitanMVC4 yıl önce
Kavramsal olarak benzer bir olay evet. URL'e göre çalıştırılacak controller ve methodları belirlemenizi sağlıyor. Size tavsiyem öncelikle MVC kavramını teorik olarak öğrenmeniz. Daha sonra uygulamada Titan yardımcı olacaktır.
Cevap Yazın

brhn
4 yıl önce sordu.Çok Okunanlar
- 6289 [v2.x] Mail gönderme - SMTP connect() failed
- 4729 [v1.x] Sınırsız Kategori/Menu Bulabildiğim en iyi çözüm !
- 1925 [v1.x] TitanPhp örnek uygulamalar
- 1882 [v1.x] Üye giriş ve kayıt olması ?
- 1849 [v1.x] Sınırsız Kategori/Menu ÖNEMLİ
- 1526 [v1.x] Veritabanı Kayıt Ekleme
- 1488 [v1.x] $this->load->plugin('template');
- 1424 [v1.x] index.php?url şeklinde kullanmadan controllere erişemiyorum.
- 1381 [v1.x] fonksiyonların içinde veritabanı işlemi
- 1379 [v2.x] vendor/autoload hatası (kurulum)