Grupa MagazynyInternetowe
Online: 445Jeśli korzystamy z PHP w wersji 5.1, to Propel
nie będzie tworzył plików w folderze buildconf.
W takiej sytuacji plik pilkarze-conf.php należy
utworzyć ręcznie. Rozwiązaniem problemu jest
aktualizacja PHP do wersji 5.2.
W plikach:
build.properties
runtime-conf.xml
pilkarze.sql
należy wprowadzić nazwę konta użytkownika bazy danych oraz hasło. W przykładzie pilkarze są nimi:
1. konto: pilkadm 2. hasło: secretpass
Hasło i konto występują w pliku pilkarze.sql:
1. ... 2. TO 3. pilkadm@localhost 4. IDENTIFIED BY 5. 'secretpass'; 6. ...
w pliku build.properties:
1. ... 2. propel.database.url = mysqli://pilkadm: 3. secretpass@localhost/pilkarze 4. ...
oraz w pliku runtime-conf.php:
1. ... 2. <username>pilkadm</username> 3. <password>secretpass</password> 4. ...
Oczywiście we wszystkich trzech plikach należy użyć identycznego konta.
Podczas zapisywania bazy danych utworzonej
programem DBDesigner nadawana jest nazwa
modelu. Domyślnie nazwa ta jest identyczna jak nazwa pliku. Na przykład, jeśli model zapiszemy
w pliku studenci.xml, to DBDesigner nazwie ten
model studenci.
Nazwę modelu można sprawdzić opcją Options . Model options.
Jeśli plik zapiszemy pod nazwą model.xml,
to należy pamiętać o tym, by przy użyciu opcji
Options . Model options zmienić nazwę modelu.
W przeciwnym razie trzeba nazwać bazę
danych model.
Zwróćmy uwagę na nazewnictwo tabel i kolumn
w bazie danych. Nazwy klas generowanych przez
Propela odpowiadają nazwom tabel w bazie danych.
Jeśli w bazie danych występuje tabela pilkarz,
to Propel wygeneruje klasę Pilkarz i zapisze
ją w pliku Pilkarz.php. Podobnie, dla tabeli
klient wygenerowana zostanie klasa Klient zapisana
w pliku Klient.php.
Jeśli tabele bazy danych będą nazwane w mianowniku liczby pojedynczej, wówczas skrypty PHP korzystające z klas generowanych przez Propel będą najczytelniejsze:
Tabela o nazwie: samochod
Wygenerowana klasa: Samochod
Klasa zapisana w pliku: Samochod.php
Skrypt:
1. $s = new Samochod(); 2. ... 3. Tabela o nazwie: ksiazka 4. Wygenerowana klasa: Ksiazka 5. Klasa zapisana w pliku: Ksiazka.php 6. Skrypt: 7. $k = new Ksiazka(); 8. ...
Dla każdej kolumny tabeli tworzone są metody
dostępu do pól. Tabela pilkarz zawiera kolumny:
imie i nazwisko. Propel generuje dla nich metody
setImie() oraz setNazwisko():
1. $pilkarz = new Pilkarz(); 2. $pilkarz->setImie('Grzegorz'); 3. $pilkarz->setNazwisko('Bronowicki');
Tabela pilkarz zawiera klucz obcy klub_id. Dla
kluczy obcych Propel również generuje metody
dostępu, w tym przypadku setKlub(). Nazwa metody
pochodzi od nazwy tabeli, z której pochodzi
klucz obcy. Parametrem metody setKlub() jest
obiekt klasy Klub:
1. $klub = new Klub(); 2. $klub->setNazwa('Legia Warszawa'); 3. ... 4. $pilkarz->setKlub($klub); 5. Zapisanie w bazie danych piłkarza powoduje 6. automatyczne zapisanie klubu: 7. $pilkarz->save();
Dla każdej tabeli bazy danych tworzona jest jedna klasa zawierająca odpowiedni zestaw metod.
Powiązane publikacje
Brak komentarzy
Baz danych to podstawa nowoczesnych witryn. Zrozumienie zasady ich działania daje nowe spojrzenie na sieć. A w dodatku jest proste.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: