Pytania Początkującego Do Doświadczonych/zaawansowanych Użytkowników Yii

Witam

Przez kilka lat pisałem w PHP wszystko strukturalnie. Wyrobiłem sobie pewne standardy pisania stron (mogę łatwo przenosić funkcje między stronami) i tak jest mi wygodnie. Jednak od jakiegoś czasu zauważyłem, że większość ludzi przerzuciła się na frameworki i myślałem zrobić to samo bo często nie rozumiem niektórych mechanizmów w kodzie takich stron. Wydaje mi się to bardzo pomieszane wszystko.

Mam do napisania aplikację w około 2-3 tygodnie i postanowiłem, że teraz to zrobię w Yii (już dawno myslałem przerzucić się na jakiś fw ale ciągle znajdowałem wymówki). Dopiero zacząłem zgłębiać informacje na temat Yii i mam wiele różnych niejasności i pytań. Potrzebowałbym kontakt online (gg, skype) z jakąś doświadczoną w Yii osobą (powiedzmy szukam mentora w temacie Yii), która będzie mogła odpowiadać na jakieś proste pytania w krótkim czasie. Te bardziej rozbudowane/skomplikowane oczywiście będę dodawał na forum, żeby rozbudowywać forum dla innych.

W tej chwili mam 4 pytania:

  1. Jak najlepiej, zgodnie ze standardami Yii podzielić aplikację na frontend i backend? Ja zawsze oddzielałem to od siebie ze względów bezpieczeństwa, a także tworzyłem osobną tabelę w bazie dla użytkowników, a osobną dla administratorów, osobne sesje. Widzę, że w demo jest to zrobione na jednej tabeli z uprawnieniami.

  2. Czy są dostępne kody źródłowe "dobrze" napisanych w Yii aplikacji (np. portal społecznościowy, dobry cms), na których mogę się wzorować (z podziałem na frontend i backend z oddzielonym panelem admina)? Jeśli tak to proszę o linki. Najlepiej uczę się na przykładach.

  3. Czy są jakieś standardy jeśli chodzi o load balancing w Yii? Dzielenie na serwery statyczne, użytkowe (do przetwarzania danych). Wcześniej miałem swoje rozwiązania.

  4. Czy w przypadku Yii są jakieś standardy w komunikacji miedzy serwerami? Czyli wykonywanie poleceń z głównej aplikacji do konkretnego serwera i odwrotnie. Dotychczas robiłem to po swojemu w json. Ale chyba lepiej wykorzystać np. REST API? Czy jest to jakoś wspomagane w Yii?

Chce już te tematy ogarnąć od razu gdy uczę się Yii, żeby te dobre praktyki kontynuować w przyszłości przerzucając się na tworzenie kolejnych aplikacji. Dotychczas zawsze projektowałem pisane aplikacje tak, żeby mozna było rozkładać ruch w razie potrzeby, a nie martwić się wtedy co robić i przepisywać stronę. I tak samo chcę robić w Yii.

No przyjacielu długa droga przed nami:

  1. Ja dla małych aplikacji robiłem oddzielny kontroler np: admin, dla większych (rozwojowych) robię oddzielny moduł >>[extract]http://www.yiiframework.com/doc/guide/1.1/pl/basics.module

[/extract]

2.Jest kilka aplikacji:[extract]http://www.chive-project.com/Download[/extract], [extract]http://www.yiiframework.com/forum/index.php?/forum/14-yii-powered-applications/[/extract]

  • Przerobiłem kilka frameworków łącznie z Zend (nie rozpoczynam oczywiście dyskusji nad tym który lepszy) i dla mnie i projektów nad którymi pracuję Yii jest na razie na pierwszym miejscu.
  1. Nie miałem jeszcze okazji używać, nie jestem w temacie. Jeżeli chodzi o wydajność to stosuję tylko cachowanie >>[extract]http://www.yiiframework.com/doc/guide/1.1/pl/topics.performance#sec-5[/extract]

  2. Jest plugin Restfull >> [extract]http://www.yiiframework.com/extension/restfullyii[/extract], jest tutorial >>[extract]http://www.yiiframework.com/wiki/175/how-to-create-a-rest-api/[/extract], oraz obsługa Web Service >> [extract]http://www.yiiframework.com/doc/guide/1.1/pl/topics.webservice[/extract]

  • Niestety nie mam dużego doświadczenia, ale obecnie pracuję nad modułem z web service do obsługi sprzedaży.

Powodzenia, niech moc będzie z tobą.

Viktor