Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > Вопрос Symfony-новичка


Автор: Castro 9.6.2010, 14:38
Начал только изучать Symfony, идёт нелегко, но не так давно сильно интересновался Codeigniter (CI).
В упор не могу понять парадигмы  Symfony, хотел бы попросить объяснить на пальцах. Хотя бы по аналогии CI.

В Codeigniter есть контроллер, который инкапсулирует методы, тоесть если отталкиваться от просто примеа, сайта типа блог, то контроллер Blog, который имеет метод index, отображающий список постов и контроллер Post имеет методы index, editPost, deletePost, ratePost. Ну и соотв. модель, гребущая данные из базы и отдающая её в контроллер.
С урлами тоже всё просто - controller/method/id/1, или в этом случае post/editpost/id/1

В  Symfony же вылезают какие-то приложения, модули, экшны и прочая лабудень.
Можете объяснить на примере то, что я понимаю и написал выше как оно работает в Symfony.

Мне кажется, что модуль - это контроллер, екшн - это список методов контроллера.
Да у урлы строяться аналогично почти.
Или как?

Автор: solenko 9.6.2010, 17:51
Цитата(Castro @  9.6.2010,  13:38 Найти цитируемый пост)
Мне кажется, что модуль - это контроллер, екшн - это список методов контроллера.
Да у урлы строяться аналогично почти.
Или как? 


да, именно так. Просто другая терминология. 

Аналога приложения в CI, как я понимаю, нет. Воспринимайте его просто как изолированный набор моделуей. Приложение не может взаимодействовать с модулями другого приложения, но использует те же библиотечные классы, что и остальные приложения (модели, плагины, просто ваши классы в lib)

Автор: Castro 10.6.2010, 09:50
solenko, спасибо!
Как я понял контроллер в Symfony  состоит из фронт-контроллера и экшнов, причём экшн - это одна полноценная страница.
Вот это меня вначале в ступор вводило, хотя фактически в CI принцип такой же

Автор: solenko 10.6.2010, 10:28
Цитата(Castro @  10.6.2010,  08:50 Найти цитируемый пост)
причём экшн - это одна полноценная страница.

Я бы сказал action -- это обработчик для одного внутреннего URI (с помощью роутов мы можем сопоставить с одним внутренним URI несколько внешних). 

Страница просто слишком специфичный термин -- если action выполняет редирект, он является страницей? А если он обрабатывает вызовы REST API приложения?


Автор: kolorimage 6.1.2011, 15:55
Codeigniter по сравнению с Симфонией очень просто изучается ) 
А главное, там просто невероятно эффективная документация.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)