MVC XOOPS'deki desen
XMF Gerekli 4.0.x Yerel
Açıklama: XOOPS Mimari
Standard XOOPS 2.5.x uses a Page Controller pattern (also called Transaction Script), not MVC. Eski modules, doğrudan içerme, global nesneler ($xoopsUser, $xoopsDB) ve işleyici tabanlı veri erişimi ile index.php’yi kullanır.
XOOPS 2.5.x’te MVC’yi kullanmak için, yönlendirme ve denetleyici desteği sağlayan XMF Çerçevesine ihtiyacınız vardır.
XOOPS 4.0, PSR-15 ara yazılımı ve uygun yönlendirmeyle MVC’yi yerel olarak destekleyecektir.
Ayrıca bakınız: Güncel XOOPS Mimari
Model-View-Controller (MVC) modeli, XOOPS modüllerindeki endişeleri ayırmak için temel bir mimari modeldir. Bu model, bir uygulamayı birbirine bağlı üç bileşene böler.
MVC Açıklama
Section titled “MVC Açıklama”Modeli
Section titled “Modeli”Model, uygulamanızın verilerini ve iş mantığını temsil eder. Bu:
- Veri kalıcılığını yönetir
- İş kurallarını uygular
- Verileri doğrular -database ile iletişim kurar
- user arayüzünden bağımsızdır
Görüntüle
Section titled “Görüntüle”Görünüm, verilerin kullanıcıya sunulmasından sorumludur. Bu:
- HTML şablonlarını işler
- Model verilerini görüntüler
- user arayüzü sunumunu yönetir
- user eylemlerini denetleyiciye gönderir
- Minimal mantık içermeli
Denetleyici
Section titled “Denetleyici”Denetleyici, Model ile Görünüm arasındaki user etkileşimlerini ve koordinatları yönetir. It:
- user isteklerini alır
- Giriş verilerini işler
- Model yöntemlerini çağırır
- Uygun görünümleri seçer
- Uygulama akışını yönetir
XOOPS Uygulama
Section titled “XOOPS Uygulama”XOOPS’de, MVC modeli, template desteği sağlayan Smarty motoruyla birlikte işleyiciler ve templates kullanılarak uygulanır.
Temel Model Yapısı
Section titled “Temel Model Yapısı”<?phpclass UserModel{ private $db;
public function getUserById($id) { // Database query implementation }
public function createUser($data) { // Create user implementation }}?>Denetleyici Uygulaması
Section titled “Denetleyici Uygulaması”<?phpclass UserController{ private $model;
public function listAction() { $users = $this->model->getAllUsers(); return ['users' => $users]; }}?>Şablonu Görüntüle
Section titled “Şablonu Görüntüle”{foreach from=$users item=user} <div>{$user.username|escape}</div>{/foreach}En İyi Uygulamalar
Section titled “En İyi Uygulamalar”- Modellerde iş mantığını koruyun
- Sunumu Görünümlerde tut
- routing/coordination’yi Denetleyicilerde tutun
- Kaygıları katmanlar arasında karıştırmayın
- Denetleyici seviyesindeki tüm girişleri doğrulayın
İlgili Belgeler
Section titled “İlgili Belgeler”Ayrıca bakınız:
- Gelişmiş veri erişimi için Depo Deseni
- İş mantığı soyutlaması için Servis Katmanı
- Proje yapısı için Kod-Organizasyon
- MVC test stratejileri için Test ediliyor
Etiketler: #mvc #desenler #mimari #module geliştirme #tasarım-desenleri