![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
Собственно, сколько не пытался делать задачек с использованием ajax, в конце выходил жудкий неуниверсальный велосипед. Поэтому решил подойти к вопросу более серьезно, то бишь продумать всё заранее.
Итак, имеется на стороне сервера Zend Framework, у клиента prototype.js + ExtJs. Задача: упростить, сделать более универсальной разработку в команде. Допустим, имеется общий обработчик для response-объектов. Сам response - JSON'овский объект с полями status (набор флагов), script (дополнительный js-скрипт, формируемый на сервере), update (массив из id-элементов, которые надо обновить, и сами данные) и redirect (урл, куда-нидо редиректить (иногда нужен именно window.location.href, а не просто редирект через заголовки)). На стороне сервера существует простенький класс, который помогает этот response-объект сформировать. В принципе, для задач обновить какой-нибудь div - хватит. Но, как вы сами понимаете, задачи-то совсем разные бывають. И если мне надо не просто обновить содержимое div'a, а, скажем, изменить фон этого div'a, приходится использовать поле script в response-объекте. Выходит, в контроллере я занимаюсь измением дизайна, что совсем не гут. И никому не захочется лезть в application/modules/blog/controllers/indexController.php в строчку 250 чтобы изменить цвет с #cccccc на #cccccd. Ок, допустим я буду в этом script подключать другие скрипты. Например, как здесь: http://www.artlebedev.ru/tools/technogrette/js/include/. Но в этом случае FireBug выкручивает фигу и я не могу дебаггить подключаемые скрипты. А посколько я дурак, то мне без дебаггера тяжко. Есть, конечно, ещё вариант - $script = file_get_contents('мега-супер-скрипт.жыэс'); Теоретически, все довольны. Но как-то некрасиво выглядит. Собственно говоря, что делать? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Тогда сделай из сервера только постовщика дынных. А почти всё бизнес логику и презентацию вынеи в код на строно клиента. Тогда сервер возвращает сигнал, что надо изменить фон, и ты уже через JS меняешь его на необходимый в зависимости от неких суловий. тогда у тебя всё будет в одном месте |
|||
|
||||
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
Ну, тоже конечно вариант. Только вот сколько времени займет адаптация под разные браузеры
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |