parte Model-View-Controller 3 - Utilizare bd

În primele două părți, am învățat cum să construiască un simplu model de componentă-view-controller. Ca urmare, există o componentă a Reprezentanței (View), care primește date de la modelele create în a doua lecție. Acum, vom lucra cu modelul de a obține date dintr-un tabel de baze de date.

Se va demonstra modul de utilizare clasa JDatabase pentru a lucra cu baza de date.

Primirea de date

Modelul nostru are în prezent o singură metodă: getGreeting (). Această metodă este foarte simplu - toate că această funcție nu - întoarce salut codificate.

Pentru a lucra cu o bază de date, încărcați felicitări în tabelul bazei de date.
Când instalați o componentă necesară pentru a crea un tabel cu o înregistrare a casetei de text cu un salut. Cum de a crea un fișier SQL și adăugați orice șir în hello.xml, ia în considerare mai târziu.

Pentru a începe, înlocuiți codul în model pentru a obține un salut dintr-un tabel de baze de date.

În primul rând trebuie să vă conectați la baza de date. În Joomla 1.5 toți parametrii pentru conexiunile sunt deja acolo pentru a crea propriile lor folosind următoarele:

JFactory - clasa statica, care este utilizat pentru conectarea la multe site-uri ale sistemului. Informații detaliate despre această clasă pot fi găsite în documentația API.

Pentru a vă conecta la baza de date utilizată metoda getDBO.

Doi pași pentru obținerea salut:

Salvați interogarea pentru a obține obiect bază de date;

Pentru ca aceasta să facă modificări la modelele din getGreeting metoda () (/models/hello.php):

$ DB> loadResult (), metoda va interoga baza de date și returnează obiectul rezultat. Mai multe informații despre această metodă poate fi găsită în referința API JDatabase. precum și de a explora clasa alte metode JDatabase.

SQL pentru a crea un fișier de instalare (/admin/install.sql)

Joomla 1.5 instalare a construit-in-suport pentru executarea interogări SQL în instalarea componentelor. Aceste solicitări trebuie să fie stocate într-un fișier standard install.sql.

Pentru SQL fișier de instalare, folosind trei interogări:

  • Ștergerea unui tabel în cazul în care același nume există deja.
  • Creați o masă și o casetă de text pentru stocarea liniei de salut.
  • Se încarcă linia de salut în câmpul de masă.

Mai jos sunt toate cele trei cereri pentru fișierul de instalare:

Joomla se înlocuiește „#__“ privind prefixul tabel al bazei de date MySQL curent. primul tabel de interogare este distrusă #__hello, este necesar pentru a se evita suprapunerea cu unitățile repetate ale uneia și aceleiași componente.

În conformitate cu a doua solicitare este creat două câmpuri din tabel. 1. `ID` - care este cheia care asigură unicitatea înregistrărilor. 2. `greeting` - șir de 25 de caractere, care vor fi stocate salut.

Salvați aceste solicitări install.sql fișier și trageți-l la componenta de distribuție a căii - /admin/install.sql.

Creați fișierul de dezinstalare SQL (/admin/uninstall.sql)

Când dezinstalați o componentă necesară pentru a abandona tabelele care au fost create prin instalarea de acest lucru, dar trebuie întotdeauna avut în vedere faptul că utilizatorul poate șterge accidental o componentă. Așa că aceasta este, prin urmare, nu elimină datele mele în tabelele bazei de date, este necesar să se solicite dovada unei astfel de acțiuni:

Salvați aceste cereri de fișiere uninstall.sql și trageți-l la componenta de distribuție a căii - /admin/uninstall.sql.

plus derapare în fișierul de instalare (hello.xml)

Înainte de a putea specifica ce fișiere de a utiliza pentru instalarea și dezinstalarea pentru a rula interogări SQL, trebuie să specificați în cazul în care pentru a copia aceste fișiere. Ambele fișiere trebuie să fie în rădăcina partea administrativă a pachetelor de componente. Apoi, specificați ce fișiere de instalare pentru a utiliza interogarea SQL atunci când instalați și dezinstalați componenta.

Noul cod pentru instalarea fișierului XML:

Când instalați și dezinstalarea poate avea două valori în atributul charset, în primul rând - „utf8“, iar în cazul în care versiunea de MySql Server nu acceptă atributul utf8 charset specifica „non-utf8“

Caracteristica conducător auto poate avea încă un singur sens - „mysql“. În viitor ne propunem să extindem posibilitățile de Joomla 1.5 pentru a lucra cu baze de date diferite.

concluzie

Acum, componenta „Hello“ poate lucra nu numai cu clasele cadru MVC, dar clasele JDatabase cereri. Puteți crea deja componente care rulează pe tehnologia MVC folosind tabele de baze de date care specifică de instalare setările.