Creeaza-ti primul MVC PHP prorpriu [Partea I]

iNoob | Stefanescu Mihai | 2020-10-11

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.


Imi place ce faci aici
Daca iti place ce fac aici imi poti cumpara o cafea Buy Me a Coffee at ko-fi.com

Stefanescu Mihai
Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.
       

Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum.

Posteaza un comentariu

Comentarii

pricopcosminfii@gmail.com
[email protected] | 2021-05-28 21:53
Unde pot gasi partea a doua?

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.

🗝ïļ Login 🌟 Register

🔖 Bookmarks ⊞
âœĻ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

🌊ïļ Discord ⊞

Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.

⮆ïļ