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 (: