Programare în PHP - Dezvoltare conform modelului abordării MVC - Vizualizare - Controler - Feedback -
Bună dezvoltatori,

astăzi am să vă scriu o postare pentru demitizarea conceptului de programare în PHP cu abordarea Model-View-Controller (MVC pentru prieteni).
Având în vedere că aplicațiile web au în prezent o tendință nefericită de a fi supraponderale sau chiar obeze, este important să organizăm codul sursă în așa fel încât să putem facilita, pe de o parte, dezvoltarea de noi funcționalități și, pe de altă parte, întreținerea codului existent. Din această perspectivă, experiența a arătat că este foarte posibil să se separe codul sursă în trei părți distincte legate de fiecare aspect al procesării:
- Modelul care reunește tot ceea ce privește afacerea (aspecte profesionale ale aplicației)
- Vizualizarea care include tot ceea ce privește redarea
- Controlerul care reunește tot ceea ce ține de intrările/controlul fluxului/ieșirile aplicației
Plec de la o abordare rigidă pentru a pune bine conceptul general. Cu experiență, este posibil să puteți relaxa un pic această abordare, dar deocamdată nu vă va aduce nicio abatere decât să vă derutați.
MODELUL
După cum s-a specificat mai sus, acest aspect include tot ceea ce este specific pentru stratul de afaceri al aplicației.
În funcție de nivelul de business, trebuie înțeles că aceasta corespunde valorii adăugate a aplicației.
Când lucrați, de exemplu, la o aplicație de gestionare, stratul de afaceri va cuprinde gestionarea contului (crearea, modificarea, ștergerea.), Categorii, calcule ale soldurilor conform regulilor în vigoare, gestionarea rotunjirii, ediții etc.
De la o aplicație la alta, veți realiza rapid că anumite aspecte comerciale sunt comune și reutilizabile: conectarea la un cont, deconectarea, accesul la o bază de date (PDO).
Deci, cel mai probabil vă veți întreba despre cea mai bună modalitate de reutilizare a codului între aplicații foarte ușor și veți întâlni inevitabil Programarea Orientată pe Obiecte (OOP) concepută cu această idee de portabilitate de la început. Voi favoriza această abordare în această postare.
Acest element ar trebui luat în sensul larg al conceptului, de exemplu, elementele din această listă se încadrează în viziunea:
- generează html
- generați XML
- generează un pdf
- etc.
Trebuie înțeles că vederea este o încetarea în tratament. Vederea este un scop, ar trebui să se preocupe doar de a genera bine autonom (pe cat posibil) un articol care ar trebui trimis browserului.
Mai clar: vederea este pasivă, este necesar să se transmită în parametru toate elementele necesare pentru activitatea sa de generație. Acest lucru implică faptul că înainte de a apela vizualizarea, procesul curent trebuie să colecteze mai întâi în mod colectiv valori, variabile și alte date care vor fi utilizate la generarea randatorului.
O vizualizare ar trebui să aibă acces foarte limitat la alte părți ale aplicației. Ca urmare, singurele funcții pe care le poate accesa ar trebui să se refere numai la vizualizarea, de exemplu, a unei funcții de evacuare a caracterelor periculoase, a unei funcții de formatare a textului.
În orice caz, nu ar trebui să apeleze la stratul de afaceri sau la controler.
CONTROLUL
El este conducătorul trio-ului, el este punctul de intrare al fiecărui tratament, el controlează fluxul programului (fluxul procesului), apelează elementele stratului de afaceri, colectează datele de răspuns, apelează elementele de vizualizare și trimite un răspuns către browser la sfârșitul procesării.
Aici, există un punct foarte important de înțeles este noțiunea de punctul de intrare al fiecărui tratament.
Ar trebui înțeles că interacțiunea cu o aplicație web este echivalentă cu efectuarea unei serii de acțiuni.
O acțiune va corespunde, de exemplu, cu:
- solicitați afișarea unei pagini web
- apelați un formular de introducere
- trimiteți un formular completat
- solicita generarea unui document pdf
- recuperați datele în format XML
- sortați datele într-un tabel făcând clic pe un antet de coloană
- schimbați pagina cu clic pe un element de paginare
- etc.
În conformitate cu principiul de mai sus,
PENTRU FIECARE ACȚIUNE DISPONIBILĂ PE SITE-UL WEB TREBUIE SĂ CORESPONDE UN SINGUR ȘI SINGUR CONTROLLER CARE VA FI UNICUL PUNCT DE INTRARE AL CERERII PENTRU ACESTA PROCESARE
Nu vă faceți griji, pe site-urile web de o anumită dimensiune nu este neobișnuit să găsiți peste 1.000 de controlere. care corespund la 1000 de acțiuni posibile pe site.
CERERE SERVER
După cum știți, browserul are un singur mijloc unic de a comunica cu un server web: adresa URL.
Pentru ca serverul web să poată diferenția acțiunile și să nu se încurce în pensule, va fi obligatoriu să existe o corespondență unică între URL și acțiune.
prin urmare,
FIECARE ACȚIUNE DISPONIBILĂ PE SITE-UL WEB TREBUIE SĂ CORESPONDE O SINGURĂ ȘI UNICĂ URL, CARE VA FI UNICUL PUNCT DE ÎNTRARE A SITE-ULUI PENTRU ACESTA PROCESARE
ORGANIZAREA CODULUI SURSEI
De la început, am vorbit despre noțiunea de punct de intrare, este esențial să o înțelegem bine, deoarece acest lucru va influența direct modul de organizare a codului sursă al unei aplicații.