Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Doctrine - dynamiczna struktura klas
Forum PHP.pl > Forum > Gotowe rozwiązania > Skrypty obsługi baz danych
borovsky
Witam, mam pytanie do używajcych frameworka Doctrine.
Cały czas denerwuje mnie to, że nie widzę swojego projektu, który to używa, z powodu:
Moj projekt umożliwia ludziom tworzenie obiektów zarówno jak ich typów, czyli załóźmy: admin tworzy sobie pięciu użytkowników, ale oprócz tego tworzy nowy Typ Webdesigner, który dziedziczy z User, ustawia im dodatkowe pole portfolio:URL, i sobie gdzieś tam umieszcza tych webdesignerów.
podsumowując, moj system korzysta z struktury obiektowej ale również zarządza nią samą.
Wszędzie w Doctrine widzę mapowanie na konkretne klasy, które trzeba mieć wczesniej przygotowane... A co z dynamicznym tworzeniem klas/namespace/dziedziczenie itd..?

prosze o odpowiedz, bo nie chce się niepotrzebnie zagłębiać w doctrine. dodam tyko, że w php chcę tylko używać zwykłych obiektów, które sa przekazywane dalej przez AMFPHP do flex.
destroyerr
Mapowanie obiektowo relacyjne ma to do siebie, że wymaga obiektów. Obiekty tworzy się na podstawie klasy. Jak sobie wyobrażasz takie mapowanie bez odpowiedniej klasy?

Rozwiązaniem Twojego problemu jest stworzenie dynamicznej struktury. Problem jest w zasadzie bardzo podobny do produktów i ich atrybutów, a rozwiązań tego problemu w internecie znajdziesz wystarczająco. Doctrine nie posiada takiego mechanizmu wbudowanego.

Mógłbyś jeszcze generować klasy w locie, ale takiego rozwiązania nigdy nie testowałem i nie słyszałem żeby ktoś inny testował.
Mephistofeles
Zend Table chyba ma taką możliwość, ale jaki sens ma takie rozwiązanie?
borovsky
z tego co się orientuję teraz, jest możliwe wczytywanie z yaml.... yaml jest dosyc prosty do generowania.

inaczej: potrzebuję sprawnego interfejsu php dla mysql (ORM)
który by:
modyfikowal obiekty, dodawał nowe, dodawał i modyfikował definicje samych klas.
obsługiwałby kaskadowe usuwanie obiektów agregowanych.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.