Znamy już metodę podłączenia się do bazy, jak również zasady nazewnictwa tabel i obiektów. Możemy więc przystąpić do tworzenia managerów i ob(j)ektów. Ponieważ managery są bardziej skomplikowane i wykorzystują obiekty (obj) ich omówienie zostawimy na później. Teraz przystąpimy do utworzenia przykładowego obiektu.
Na poprzedniej lekcji zdefiniowaliśmy połączenie do bazy, więc nie musimy się już tym martwić. Załóżmy że chcemy stworzyć i obsługiwać tabelę w której będą się znajdować pozycje menu naszej strony. Nazwijmy ją mojapel_menu. Powinna mieć ona 4 pola:
- mojapelMenuId - (klucz, PRIMARY KEY)
- itemActive – flaga informująca o tym czy dana pozycja menu jest aktywna
- menuName – tekst wyświetlany na danej pozycji menu
- menuLink – link do którego przenosi nas dana pozycja menu
Gdy stworzyliśmy tabelę tworzymy obiekt jej odpowiadający. Nazwiemy go obj_mojapel_menu. Będzie zaimplementowany w katalogu system/obj/mojapel/menu.php. Do prawidłowego działania potrzebuje zdefiniowanego parametru $tableName który informuje do jakiej tabeli jest on przypisany. Dodatkowo musimy zdefiniować funkcję validate() która jest odpowiedzialna za sprawdzenie błędów przed zapisem rekordu do bazy. Ostatnią rzeczą są wpisane definicje pól z bazy. Klasa może wyglądać następująco:
class obj_mojapel_menu extends ap_obj implements iface_obj {
protected $tableName = 'mojapel_menu';
protected $fields = array (
'mojapelMenuId',
'itemActive',
'menuName',
'menuLink,
);
protected function validate() {
if (empty($this->menuName)) {
throw new system_exception('Nie wypełniono nazwy menu');
}
}
}
Klasa jest już gotowa do użytku. Przy użyciu obiektów tej klasy możemy standardowo pobierać pojedyncze rekordy z bazy, jak też zapisywać w nich zmiany. Obiekty same rozpoznają czy zapis jest modyfikacją, czy dodaniem nowego rekordu.
Ustawienie jednego z pól w obiekcie wykonuje się funkcją setNazwaPola. Przykładowo w naszym obiekcie będzie to np.setItemActive. Po dokonaniu zmian musimy wywołać metodę save, która zapisze zmiany do bazy. Ostatnią ciekawą funkcjonalnością obiektów jest wczytanie wszystkich pól danego rekordu z bazy. Realizuje to metoda getDetails();
Pierwsze kroki is a public wiki page
This wiki page is a public wiki page. It can be read by anyone including users that have not logged in and web crawlers such as Google.
Entry has no comments
You do not have sufficient permissions to comment
Text: {toc} p. Znamy już metodę podłączenia się do bazy, jak również zasady nazewnictwa tabel i obiektów. Możemy więc przystąpić do tworzenia managerów i ob(j)ektów. Ponieważ managery są bardziej skomplikowane i wykorzystują obiekty (obj) ich omówienie zostawimy na później. Teraz przystąpimy do utworzenia przykładowego obiektu. p. Na poprzedniej lekcji zdefiniowaliśmy połączenie do bazy, więc nie musimy się już tym martwić. Załóżmy że chcemy stworzyć i obsługiwać tabelę w której będą się znajdować pozycje menu naszej strony. Nazwijmy ją mojapel_menu. Powinna mieć ona 4 pola: * mojapelMenuId - (klucz, PRIMARY KEY) * itemActive - flaga informująca o tym czy dana pozycja menu jest aktywna * menuName - tekst wyświetlany na danej pozycji menu * menuLink - link do którego przenosi nas dana pozycja menu p. Gdy stworzyliśmy tabelę tworzymy obiekt jej odpowiadający. Nazwiemy go obj_mojapel_menu. Będzie zaimplementowany w katalogu @system/obj/mojapel/menu.php@. Do prawidłowego działania potrzebuje zdefiniowanego parametru $tableName który informuje do jakiej tabeli jest on przypisany. Dodatkowo musimy zdefiniować funkcję validate() która jest odpowiedzialna za sprawdzenie błędów przed zapisem rekordu do bazy. Ostatnią rzeczą są wpisane definicje pól z bazy. Klasa może wyglądać następująco: pre.. class obj_mojapel_menu extends ap_obj implements iface_obj { protected $tableName = 'mojapel_menu'; protected $fields = array ( 'mojapelMenuId', 'itemActive', 'menuName', 'menuLink, ); protected function validate() { if (empty($this->menuName)) { throw new system_exception('Nie wypełniono nazwy menu'); } } } p. Klasa jest już gotowa do użytku. Przy użyciu obiektów tej klasy możemy standardowo pobierać pojedyncze rekordy z bazy, jak też zapisywać w nich zmiany. Obiekty same rozpoznają czy zapis jest modyfikacją, czy dodaniem nowego rekordu. p. Ustawienie jednego z pól w obiekcie wykonuje się funkcją setNazwaPola. Przykładowo w naszym obiekcie będzie to np.setItemActive. Po dokonaniu zmian musimy wywołać metodę @save@, która zapisze zmiany do bazy. Ostatnią ciekawą funkcjonalnością obiektów jest wczytanie wszystkich pól danego rekordu z bazy. Realizuje to metoda @getDetails();@ → {toc} p. Znamy już metodę podłączenia się do bazy, jak również zasady nazewnictwa tabel i obiektów. Możemy więc przystąpić do tworzenia managerów i ob(j)ektów. Ponieważ managery są bardziej skomplikowane i wykorzystują obiekty (obj) ich omówienie zostawimy na później. Teraz przystąpimy do utworzenia przykładowego obiektu. p. Na poprzedniej lekcji zdefiniowaliśmy połączenie do bazy, więc nie musimy się już tym martwić. Załóżmy że chcemy stworzyć i obsługiwać tabelę w której będą się znajdować pozycje menu naszej strony. Nazwijmy ją mojapel_menu. Powinna mieć ona 4 pola: * mojapelMenuId - (klucz, PRIMARY KEY) * itemActive - flaga informująca o tym czy dana pozycja menu jest aktywna * menuName - tekst wyświetlany na danej pozycji menu * menuLink - link do którego przenosi nas dana pozycja menu p. Gdy stworzyliśmy tabelę tworzymy obiekt jej odpowiadający. Nazwiemy go obj_mojapel_menu. Będzie zaimplementowany w katalogu @system/obj/mojapel/menu.php@. Do prawidłowego działania potrzebuje zdefiniowanego parametru $tableName który informuje do jakiej tabeli jest on przypisany. Dodatkowo musimy zdefiniować funkcję validate() która jest odpowiedzialna za sprawdzenie błędów przed zapisem rekordu do bazy. Ostatnią rzeczą są wpisane definicje pól z bazy. Klasa może wyglądać następująco: pre.. class obj_mojapel_menu extends ap_obj implements iface_obj { protected $tableName = 'mojapel_menu'; protected $fields = array ( 'mojapelMenuId', 'itemActive', 'menuName', 'menuLink, ); protected function validate() { if (empty($this->menuName)) { throw new system_exception('Nie wypełniono nazwy menu'); } } } p. Klasa jest już gotowa do użytku. Przy użyciu obiektów tej klasy możemy standardowo pobierać pojedyncze rekordy z bazy, jak też zapisywać w nich zmiany. Obiekty same rozpoznają czy zapis jest modyfikacją, czy dodaniem nowego rekordu. p. Ustawienie jednego z pól w obiekcie wykonuje się funkcją setNazwaPola. Przykładowo w naszym obiekcie będzie to np.setItemActive. Po dokonaniu zmian musimy wywołać metodę @save@, która zapisze zmiany do bazy. Ostatnią ciekawą funkcjonalnością obiektów jest wczytanie wszystkich pól danego rekordu z bazy. Realizuje to metoda @getDetails();@ "<<< Baza danych":http://www.xp-dev.com/wiki/67486/Baza%20danych
All Wiki Pages
View full history
Wiki Page: Pierwsze kroki