[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: AJAX+MVC(PHP)
Traveller
В мвц, как аякс состыкуется с пыхом? http://javascript.ru/ajax/client-server
тут написано что через контроллер, но ведь контроллер - это тоже класс со своими методами и там недопустимо ж чтоб был посторонний код типа: if ($_GET[...]) {...}
как же тогда обрабатывать пришедшие запросы аякса



Спустя 9 минут, 58 секунд (26.07.2012 - 16:47) neadekvat написал(а):
Значицо, даю вводные.
Существует такой фреймворк, Code Igniter, в котором реализована чистая MVC-модель, и для него существуют готовые библиотеки для работы с ajax (в частности, с использованием jquery). Погугли, скачай, посмотри, как они устроены внутри, посмотри примеры кода.

Спустя 9 минут, 7 секунд (26.07.2012 - 16:56) Traveller написал(а):
да в том то и дело, что мне не подходят фреймворки...нельзя использовать сторонний код. Просто хочу понять как это дело прикрутить, не нарушая мвц.

Спустя 1 минута, 16 секунд (26.07.2012 - 16:57) neadekvat написал(а):
Я не предлагаю использовать фреймворк. Я предлагаю посмотреть, как делают умные люди. В двух словах все равно не описать.

Спустя 1 минута, 55 секунд (26.07.2012 - 16:59) Traveller написал(а):
ок, спасибо

Спустя 8 часов, 20 минут, 22 секунды (27.07.2012 - 01:19) Guest написал(а):
Front Controller, в основном.
Что он делает, преобразует query_string в команды вызова (выделяет командные параметры) контроллеров страниц сервера Page Controller (контроллер в котором находятся сценарии вывода страницы) и действий (сценариев), а затем запускает действие.

Спустя 6 минут, 14 секунд (27.07.2012 - 01:26) neadekvat написал(а):
Guest, на самом деле, все сложнее.
Мы больше привыкли видеть модель HMVC, а не MVC. Разница как раз в том, что в HMVC мы можем из контроллера вызвать другой контроллер и он отработает как отдельное приложение. В чистом MVC все запутаннее. Взять тот же CI - вроде как чистый MVC, а для работы приходится наследовать главный класс. Поэтому ajax в CI реализован с помощью библиотек и хелперов, емнип. Выкрутились, называется.

Спустя 1 час, 1 минута, 41 секунда (27.07.2012 - 02:27) Guest написал(а):
А зачем усложнять самим себе жизнь wink.gif
Как Фаулер говорит паттерн это не железобетонная конструкция, наоборот это отправная точка для развития архитектуры. Как показал опыт MVC совершенно не подходит под архитектуру с богатым клиентом на AJAX так как имеет избыточную архитектуру для этого, а вот Front Controller как раз подходит как сервисный слой и инициализатор действий по URL параметрам.

Спустя 5 минут, 6 секунд (27.07.2012 - 02:32) neadekvat написал(а):
Собственно :)
Several web-tier application frameworks implement the Front Controller pattern, among them:
...
Yii, Cake, Symfony, Kohana, CodeIgniter and Zend Framework, MVC frameworks written with PHP


В остальном - самое главное, чтобы последователи поняли, что тут происходит. Пожалуй, в этом немаловажная особенность паттернов - какую-то непонятную хрень поймут те, кто знают то же самое.
А если замутить непонятную хрень самому, на еще неизведанном, и никому это не рассказать, нигде не объяснить, то не каждый, далеко не каждый будет способен в _этом_ разобраться.
Но я ушел в демагогию.

Спустя 30 секунд (27.07.2012 - 02:33) Guest написал(а):
Точнее говоря архитектура
Client(View)->Front Controller->(Domain Model)->если требуется Strategy->Layer To DB наподобие "Слои Core J2EE"

Спустя 1 минута, 48 секунд (27.07.2012 - 02:35) neadekvat написал(а):
А с другой стороны.
Вот живет человек и не париться. И еще не знает, сколько страшных слов и решений ему предстоит понять и изучить.

Спустя 2 минуты, 12 секунд (27.07.2012 - 02:37) Guest написал(а):
Да Front Controller не нарушает MVC. Но лучше всё таки модель J2EE Где после controller обработчика запросов производится вызов предметной области, хотя опять же исходя из бизнес требований smile.gif

Спустя 1 минута, 41 секунда (27.07.2012 - 02:39) Guest написал(а):
Цитата (neadekvat @ 26.07.2012 - 23:35)
А с другой стороны.
Вот живет человек и не париться. И еще не знает, сколько страшных слов и решений ему предстоит понять и изучить.

biggrin.gif
Я себя таким же помню smile.gif честно говоря классное время, как ребёнок всё новое просто поедаешь и глазами и умом.

Спустя 1 минута, 5 секунд (27.07.2012 - 02:40) Guest написал(а):
Цитата (Guest @ 26.07.2012 - 23:39)
Цитата (neadekvat @ 26.07.2012 - 23:35)
А с другой стороны.
Вот живет человек и не париться. И еще не знает, сколько страшных слов и решений ему предстоит понять и изучить.

biggrin.gif
Я себя таким же помню smile.gif честно говоря классное время, как ребёнок всё новое просто поедаешь и глазами и умом.

Хотя разработка ПО это такая область что всегда останешься в ней ребёнком smile.gif

Спустя 3 дня, 22 часа, 1 минута, 44 секунды (31.07.2012 - 00:41) lastalert написал(а):
Traveller, вот можешь почитать: http://www.phpied.com/ajax-mvc/

Спустя 1 день, 7 часов, 36 минут, 46 секунд (2.08.2012 - 08:18) Stasonix написал(а):
Позволю высказать себе свое субъективное мнение о том что сначала надо разобраться с самой mvc отдельно и с ajax'ом отдельно, тогда такого вопроса бы не было, по сути надо понимать что mvc (в php) это тот же скрипт php, какими бы он там эпитетами не был бы назван, какие бы классы в нем ни лежали и какие бы функции не использовались, все равно все сведется к приему $_POST['data'] ил $_GET['data'] (+ еще кое-что чего вам пока не надо). А на стороне клиента как угодно к этому скрипту обращайтесь.

п.с. создаете контроллер, обращаетесь к нему из клиентского скрипта через аякс . Фсё.

Спустя 1 месяц, 2 дня, 13 часов, 6 минут, 54 секунды (4.09.2012 - 21:25) Traveller написал(а):
спасибо всем, буду учить)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.