Creeaza-ti primul MVC PHP prorpriu [Partea I]

postat acum 2 ani de Stefanescu Mihai in categorie iNoob

In acest tutorial vom construi un MVC cat se poate de simplu in PHP.
Deci…probabil ar trebuii sa pornim de la explicatiile de baza, MVC este un acronim pentru Model View Controller si este de fapt un pattern va permite sa separati codul (Model – indeplineste operatiile ce au legatura cu baza de date, Controller – Proceseaza datele din Model si modifica View-ul unde este necesar de design (View), chiar daca
pare a fi complicat aceasta este o structura ce ne va usura munca pe viitor si este folosita in majoritatea framework-urilor disponibile.

Structura

In primul rand trebuie sa construim o structura a MVC-ului pe baza carora vom construi aplicatii mai tarziu.

Pentru inceput vom avea nevoie de un folder numit public, aici vor ajunge toti vizitatorii/utilizatorii aplicatiai tale, acum mai avem nevoie de un folder numit
app in care vom avea toate fisierele siteului (models, views, controllers, s.a.m.d).

Acum, in folderul app avem urmatoarele foldere:

  • core : Aici vom avea fisierele cu functiile de baza
  • controllers : Aici vom avea controllerele, fisiere de genul home.php, forum.php, sau orice alte pagini va avea aplicatia noastra
  • models : Aici vom avea models-urile
  • views : Aici vom avea fisierele ce tin de design

Pentru inceput va trebuie sa creeam inca 2 fisiere, init.php in folderul app si index.php in fodlerul public.

Deci, pana acum avem urmatoarea structura:

Acum, in index.php trebuie sa includem fisierul init.php, fisier in care vom include toate cele necesare functionarii aplicatiei noastre.

Facem acest lucru scriind urmatorul cod in public/index.php:

require_once '../app/init.php';

Engine

In primul rand avem nevoie de un fisier App.php in folderul core, acest fisier php va contine clasa PHP ce va fi initializata pentru fiecare pagina a aplicatiei.

in init.php trebuie sa avem urmatorul cod:

require_once 'core/App.php';

Iar in fisierul public/index.php putem deja sa creeam o noua instanta a acestei clase:

$App = new App;

Sa nu uitam totusi ca in fisierul App.php trebuie sa definim o noua clasa php:

class App
{
//codul PHP va ajunge aici
}

Acum, tot in folderul core trebuie sa creeam un fisier numit Controller.php unde vom aveam o clasa PHP cu ajutorul careia putem lucra cu controllerele:

class Controller
{
    //Codul PHP va ajunge aici
}

Acum, trebuie sa includem si aceasta clasa in fisierul init.php folosind urmatorul cod:

require_once 'core/Controller.php';

Atat pentru acest articol, in urmatorul articol din aceasta serie vom scrie codul pentru  routing si probabil.

Sunt un tanar programator din Bucuresti ce lucreaza in PHP/Mysql (MySqli/PDO), Laravel, CodeIgniter, MySQL, PostgreSQL, Wordpress, HTML5/CSS3, Sass, Photoshop si multe altele.
Google+ Community Facebook Group
Acest articol a fost mutat de pe vechea platforma.
Pentru orice eroare aparuta la mutare va rog sa ma contactati!