2011-11-17 14 views
7

Moja firma utrzymuje administrację bazą danych i rozwój w oddzielnym dziale, a dla mojej aplikacji Symfony2 mogę korzystać z DB tylko za pośrednictwem API usługi. Oznacza to, że nie mogę używać Doctrine ORM ani nawet php pdo.Tworzenie encji w Symfony2 bez Doctrine

W zasadzie będę musiał zbudować własną warstwę abstrakcji. Przez cały dzień przeszukiwałem internet i nie widziałem nic o najlepszych praktykach tworzenia własnej warstwy abastrującej dla Symfony2. Nie mogę nawet znaleźć informacji o używaniu czegokolwiek oprócz Doctrine.

Czy ktoś ma jakieś sugestie lub zna jakieś zasoby dotyczące najlepszych praktyk dotyczących robienia tego dla symfony2?

Odpowiedz

6

Symfony jest niezależna od modelu (nie ma "M" od MVC). Zauważ, że Doctrine lub Propel to osobne projekty zintegrowane z Symfony. Nie są częścią struktury.

Myślę, że powinieneś po prostu zaimplementować bibliotekę klienta dla swojego interfejsu API, która byłaby oddzielona od struktury (możesz nawet użyć jej w prostych skryptach php lub w innych frameworkach).

Krok 2 to integracja biblioteki z Symfony. Prawdopodobnie obejmuje to tworzenie pakietu i odpowiednie definicje usług. Patrząc na DoctrineBundle możesz podać kilka pomysłów.

+0

Dzięki za porady. To bardzo pomocne. – Clint

6

zrobiłem to w następujący sposób:

Proszę o kontakt w celu uzyskania dalszych szczegółów.

0

Wydaje mi się, że interfejs API może być postrzegany jako inny sterownik DB. Przypuszczam, że doktrynę można rozszerzyć, aby zaakceptować niestandardowy sterownik db, ale nie jestem pewien, ile wysiłku zajmie i czy twój interfejs API zapewnia wszystkie niezbędne funkcje. Oczywistymi zaletami takiego podejścia jest to, że będziesz mógł korzystać z tej samej funkcji doktryny, jaką miałbyś, gdybyś miał dostęp do PDO.

Powiązane problemy