(Jeśli to nie jest właściwe miejsce, aby opublikować tego rodzaju pytanie ja bym chętnie po to gdzieś indziej)Symfony2 I pojedynczego internetowej Aplikacje wykorzystujące ramy jak angularjs
Próbuję zbudować interaktywny aplikacja internetowa do zarządzania zasobami firmy. Mam doświadczenie z Symfony2, ale w pewnym sensie uderzam w ścianę dzięki tej nowej aplikacji.
Chciałbym, aby ta aplikacja była dość interaktywna po stronie klienta. Prawie pełna, pojedyncza aplikacja internetowa. Moje poprzednie aplikacje internetowe zwykle używają typowego wzorca MVC ze stronami CRUD.
W tych prostych aplikacji musiałbym
/employees/
/employees/create
/employees/detail/45
/employees/update/45
/employees/delete/45
Korzystanie symfony w tego rodzaju aplikacji dałby mi wiele zalet:
- Routing
- (tokeny CSRF) Bezpieczeństwo
- FormTypes i obsługa formularzy
- Validation
- Integracja z Doctrine
- Gałązka
Zwłaszcza funkcjonalność jak to w Gałązka był bardzo orzeźwiający (ponieważ moje modele były budowane jako podmioty Doktryny):
<p>{{ employee.getCurrentTask().description }}</p>
Problem Wobec tego czuję, że Symfony2 tak naprawdę nie jest budowana dla pojedynczych aplikacji internetowych. Jak tylko próbuję dodać funkcjonalność Ajax mam do czynienia z tymi problemami:
- CSRF tokeny nieprawidłowy
- Zbyt dużo non wielokrotnego użytku view/logiki prezentacji w jQuery
- dodawanie danych w atrybuty html, aby uzyskać identyfikator itp ...
Potem zajrzałem do Knockout.js i Angularjs, ale wtedy czuję, że tracę wszystkie zalety Doktryny i Gałązki. Muszę zrekonstruować moje modele po stronie klienta i muszę je zachować w dwóch różnych lokalizacjach.
Więc wpadłem na ten pomysł: (? FOSRestBundle może)
- modele i kontrolery Zastosowanie Symfony2 utrzymują się do bazy danych, ale pozwól kontrolery w symfony tylko wysłać JSON i odbierać JSON
- użytku struktura taka jak AngularJS lub KnockoutJS w celu przebudowania danych JSON po stronie klienta w celu użycia wiązania dwukierunkowego.
Ale wtedy jak bym rozwiązania problemów takich jak Doctrine2 Relationships, formy walidacji, CSRF który Symfony już rozwiązanych, ale są bezużyteczne, jeśli mogę użyć nakładka js ram?
Wszystkie sugestie są mile widziane!
Po prostu chcesz się dzielić, że nadal możesz używać FormType dobrze, bez problemu. Po otrzymaniu danych z żądania REST można je parsować, a następnie zachowuje się jak każdy inny formularz. – mr1031011