İçeriğe geç

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.

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ü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, 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’de, MVC modeli, template desteği sağlayan Smarty motoruyla birlikte işleyiciler ve templates kullanılarak uygulanır.

<?php
class UserModel
{
private $db;
public function getUserById($id)
{
// Database query implementation
}
public function createUser($data)
{
// Create user implementation
}
}
?>
<?php
class UserController
{
private $model;
public function listAction()
{
$users = $this->model->getAllUsers();
return ['users' => $users];
}
}
?>
{foreach from=$users item=user}
<div>{$user.username|escape}</div>
{/foreach}
  • 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

Ayrıca bakınız:


Etiketler: #mvc #desenler #mimari #module geliştirme #tasarım-desenleri