Skip to content

MVC uzorak u XOOPS

Potreban XMF 4.0.x izvorni

Pojašnjenje: XOOPS Arhitektura

Standardni XOOPS 2.5.x koristi obrazac Kontroler stranice (koji se naziva i Transakcijska skripta), a ne MVC. Naslijeđeni modules koristi index.php s izravnim includes, globalnim objektima ($xoopsUser, $xoopsDB) i pristupom podacima na temelju rukovatelja.

Za korištenje MVC u XOOPS 2.5.x potreban vam je XMF Framework koji pruža podršku za usmjeravanje i kontroler.

XOOPS 4.0 izvorno će podržavati MVC sa PSR-15 srednjim softverom i pravilnim usmjeravanjem.

Vidi također: Trenutna XOOPS arhitektura

Uzorak Model-View-Controller (MVC) temeljni je arhitektonski obrazac za odvajanje problema u XOOPS modules. Ovaj obrazac dijeli aplikaciju na tri međusobno povezane komponente.

Model predstavlja podatke i poslovnu logiku vaše aplikacije. To:

  • Upravlja postojanošću podataka
  • Provodi poslovna pravila
  • Provjerava podatke
  • Komunicira s bazom podataka
  • Neovisan je o korisničkom sučelju

View je odgovoran za predstavljanje podataka korisniku. To:

  • Renderira HTML templates
  • Prikazuje podatke o modelu
  • Rukuje prezentacijom korisničkog sučelja
  • Šalje radnje korisnika kontroleru
  • Trebao bi sadržavati minimalnu logiku

Kontroler upravlja interakcijama korisnika i koordinira između modela i prikaza. To:

  • Prima zahtjeve korisnika
  • Obrađuje ulazne podatke
  • Poziva metode modela
  • Odabire odgovarajuće poglede
  • Upravlja protokom aplikacija

U XOOPS, uzorak MVC implementiran je pomoću rukovatelja i templates s motorom Smarty koji pruža podršku za predložak.

<?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}
  • Držite poslovnu logiku u modelima
  • Držite prezentaciju u prikazima
  • Zadržite usmjeravanje/koordinaciju u kontrolerima
  • Nemojte miješati brige između slojeva
  • Potvrdite sve unose na razini kontrolera

Vidi također:


Oznake: #mvc #uzorci #arhitektura #razvoj-modula #uzorci-dizajna