Автор Тема: [MVC] Основни положения  (Прочетена 12376 пъти)

SylaR

  • Участници
  • ***
  • Публикации: 10
    • Профил
Re: [MVC] Основни положения
« Отговор #30 -: Dec 20, 2010, 23:14 »
А нещо като добра литература(книги видео уроци) освен юсър гайда, може ли да ми препоръчате защото ми е по-лесно нещо да го видя като пример в реална ситуация
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: [MVC] Основни положения
« Отговор #31 -: Aug 16, 2012, 14:12 »
Къде се ползва Ajax в цялата MVC архитектура?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Re: [MVC] Основни положения
« Отговор #32 -: Aug 16, 2012, 16:39 »
Къде се ползва Ajax в цялата MVC архитектура?

В изгледа (V, view) накратко казано.
Контролерът (C, controller) връща отговорът на ajax request-a, но като цяло самия request и обработката на данните от него са в изгледа.
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: [MVC] Основни положения
« Отговор #33 -: Aug 16, 2012, 16:52 »
А ако искам да използвам json къде трябва да го рендирам? В другите "системи" имам един service.php (примерно), който ми връща като резултат json и аз после правя каквото си искам с данните, а при MVC-то?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Re: [MVC] Основни положения
« Отговор #34 -: Aug 16, 2012, 17:04 »
А ако искам да използвам json къде трябва да го рендирам? В другите "системи" имам един service.php (примерно), който ми връща като резултат json и аз после правя каквото си искам с данните, а при MVC-то?

При мен (CakePHP) съм го направил така:
Всеки контролер наследява базовия за фреймуърка AppController. В него (AppController) имам callback bеforeRender(), който се изпълнява преди предаването на данните към изгледа (view). Във въпросния callback проверявам, дали request-a идва от AJAX (XHR), ако е така данните се предават към един общ изглед (view), в който просто правя
Код:
echo json_encode($jsonData); //$jsonData е сетната в контролера

По този начин не ми се налага във всеки един контролер поотделно да проверявам дали да върна JSON или html - така или иначе всички ajax calls, които правя очакват да работят с JSON, както и няма нужда за всяко действие в контролера да имам отделен изглед, а ползвам един общ.
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: [MVC] Основни положения
« Отговор #35 -: Aug 16, 2012, 17:13 »
Благодаря за отговора :).
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

borovaka

  • Напреднали
  • *****
  • Публикации: 1331
  • Distribution: Каквото дойде
  • Window Manager: Gnome / KDE
    • Профил
Re: [MVC] Основни положения
« Отговор #36 -: Aug 16, 2012, 20:31 »
Ммм щом очакваш различно предтавяне на еднакви данни, според мен е най-добре да се запознаеш с decorator шаблона. Можеш да го реализираш по различни начини в контекта на MVC.
Активен

Та извода е прост: "Колкото по-големи ла*ната - толкова по-малка щетата! ... моралната де, не материалната"

nickbass

  • Участници
  • ***
  • Публикации: 10
  • Distribution: Ubuntu 12.04
  • Window Manager: KDE
    • Профил
Re: [MVC] Основни положения
« Отговор #37 -: Sep 30, 2012, 20:13 »
http://www.agavi.org/

Един невероятно добре измислен MVC фреймуорк. Много гъвкав, достатъчно лек и без малоумните "автоматизации" на разни Симфонии и тем подобни, които уж ти пишат сами 90% от кода, а ти стъжняват живота с останалите 10% и то за елементарни неща, което всъщност не съкращава, а увеличава development time. :) Генерирате си проекта и имате ОСНОВАТА за приложение, в което САМИ да решавате кое как да става, а не да се борите как да хакнете феймуорка заради някое специфично дребно изискване.
Активен