parte model-view-controller 4 - interfața de administrare

În partea anterioară a componentei are posibilitatea de a obține informații din baza de date și afișa, dar el încă nu știe cum să schimbe sau să adauge noi înregistrări într-un tabel de baze de date.
În această parte, vom adăuga la componenta „Hello“ în secțiunea de interfață a administratorului de a lucra cu înregistrările din tabelul bazei de date.

Crearea structurii de bază (/admin/hello.php)

În principal, printre panoul de administrare este foarte similar cu o parte a site-ului. Punctul de intrare principală la porțiunea de componente de administrator este hello.php. Acest fișier este fișier hello.php identic, care este utilizat pe site-ul, cu excepția faptului că numele controlerului de alimentare a fost schimbat la HellosController. Controlerul implicit este, de asemenea, numit controller.php, și este identic cu controlerul implicit în partea a site-ului, cu diferența că în loc de un controler numit HellosController HelloController. Această diferență înseamnă că regulatorul implicit JController va încărca o listă de saluturi noastre.

cod Hello.php la dosar:

Prezentarea și modelul, de la care vom începe să fie, respectiv, vedere hellos și modelul hellos. Să începem cu modelul.

Modelul hellos (/admin/models/hellos.php)

Hellos model va fi foarte simplu. Singura acțiune necesară pentru noi acum este abilitatea de a obține o listă de felicitări din baza de date. Această acțiune se va realiza în getData metoda ().

Clasa JModel a încorporat metodă sigură _getList (). Această metodă poate fi utilizată pentru a simplifica sarcina de a produce o listă de înregistrări din baza de date. Trebuie doar să execute interogarea și va returna o listă de intrări.

Mai târziu, poate fi necesar să se utilizeze o interogare într-o metodă diferită. Astfel, vom crea o metodă sigură _buildQuery (), care returnează o solicitare transmisă _getList) metoda (. Acest lucru facilitează solicitarea de modificare, cum este numit din același loc.

Astfel, în clasa noastră avem nevoie de 2 metode: getData () și _buildQuery ().

_buildQuery () returnează pur și simplu interogarea. Se pare ceva de genul:

getData () primește cererea și preia înregistrările din baza de date. Se poate întâmpla ca vom avea nevoie să se dubleze pentru a obține această listă, cu o încărcare a paginii. Ar fi o pierdere pentru a obține această listă de două ori. Astfel, metoda este de a stoca datele primite într-o proprietate protejată la o cerere ulterioară, el ar putea reveni pur și simplu datele anterioare. Această proprietate va fi numit _data.

Mai jos este getData) Metoda (: