do tej pory tworzac proste aplikacje w php5 uzywalem nastepujacego "sposobu":
1. baza danych
tabela: uzytkownik
- id
- imie
- nazwisko
- adres_id
- email_id
tabela: email
- id
tabela: adres
- id
- ulica
- numer
- miejscowosc
- kod_pocztow
2. uzywam klasy ktora mapuje dany rekord (poprzed podanie id rekordu do jej konstruktora) do obiektu czyli: tworze klase 'uzytkownik' ktora rozszerza klase activerecord inicjalizujac ja nazwa tabeli ktora chce odczytywac. potem pola odczytuje tak: uzytkowanik->getPole('imie'); .
wiadomo, o co chodzi....
Ale jak wykonam
to mam tylko id a nie dane o emailu, wiadomo.....
<?php $uzytkownik->GetPole('email_id'); ?>
wiec robie np tak:
<?php class Uzytkownik extends AR { public $email; public $adres; public function __construct($id="") { $this->Init('uzytkownik', $id); // wypelniamy zmienne $this->email = new Email($this->GetPole('email_id')); $this->adres = new Adres($this->GetField('adres_id')); } } class Email extends AR { public function __construct($id="") { $this->Init('email', $id); } } class Adres extends AR { public function __construct($id="") { $this->Init('adres', $id); } } ?>
i jest fajnie, tworzac obiekt uzytkownika:
<?php $us = new Uzytkownik(1); ?>
moge odczytac gdzie on mieszka naprzyklad:
<?php $us->adres->getPole('mijescowosc'); ?>
jest ladnie obiektowo....
jestem tez zmuszony tworzyc statyczna klase AppManager ktora np pobierze mi powiedzmy 10ciu userow. (statyczna metoda ktora wykonuje zapytanie np
i tworzy dalej TABLICE OBIEKTOW uzytkownik (przez
SELECT id FROM uzytkownik LIMIT 10
) i zwraca mi ja. wykorzystuje to np do uzupelnienia szablonu odpowiednimi wartosciami.
<?php new Uzytkownik ($id) ?>
programuje sie to nawet milo.... tylko........
Czy ten sposob ktorego uzywam jest prawidlowy?

Pewne wady juz widac, np tworzac obiekt uzytkownik a nie krozystajac z jego adresu i emaila wykonuja sie niepotrzebne zapytania, ale rozwiazaniem moze okazac leniwa konkretyzacja.
Ale tu chodzi raczej o logike niz technike
