AJAX - PHP шаблоны связи - PullRequest
       5

AJAX - PHP шаблоны связи

4 голосов
/ 10 октября 2009

Я создаю веб-приложение в MySQL / PHP / Javascript.

В PHP у меня есть все классы из домена, о проблеме, которая сохраняется в базе данных. В Javascript есть кеш с объектами из последних запросов.

Когда объект в Javascript обновляется пользователем, он должен обновляться на стороне сервера. Какой лучший способ сделать это?

Должен ли я создать класс на PHP и Javascript для общения? Должен ли каждый объект в Javascript отправлять AJAX-запрос в другой php-файл в зависимости от класса объекта, который требуется обновить? Есть какие-то шаблоны, чтобы следовать этому, чтобы решить это?

Ответы [ 3 ]

1 голос
/ 11 октября 2009

Большинство фреймворков AJAX (jQuery и т. Д.) Будут отправлять заголовок «HTTP_X_REQUESTED_WITH» со значением «xmlhttprequest». Мне нравится использовать это, чтобы решить, какой вид использовать.

Это означает, что один и тот же URL-адрес может использоваться для получения фрагмента JSON, XML или HTML через JavaScript или для возврата полного документа, если сделан стандартный запрос GET / POST.

Это означает, что ваше приложение просто вернется к обычным запросам, если у пользователя отключен JS.

1 голос
/ 10 октября 2009

Создание отдельного файла PHP для каждого класса, безусловно, было бы более удобным, если бы это был проект любого размера. Это также позволило бы вам делать разные вещи, например, иметь другую аутентификацию на уровне сервера в зависимости от классов.

Что касается JavaScript, то вам определенно нужна какая-то библиотека AJAX, независимо от того, собираете ли вы ее вместе (я делал один раз из примерно 50 строк JavaScript) или используете одну из них. Вам может понадобиться вспомогательная функция или две, которые знают, как сериализовать данные (XML, JSON, с разделителями, что угодно).

Вы можете написать объектно-ориентированный код на JavaScript, и, если вы уже это делаете, имеет смысл добавить метод write () или updateServer () для вызова библиотеки AJAX с правильными параметрами для согласованности. Если вы не пишете OO-код, все же может иметь смысл иметь отдельные функции, но только если вам нужно сохранить эти объекты в нескольких местах.

0 голосов
/ 11 октября 2009

Я думаю, вам стоит взглянуть на REST ful API с PHP и JavaScript. Вы обращаетесь к объектам модели вашего домена как к уникальным ресурсам (например, / application / books / 1). Если вы хотите реализовать только функциональные возможности CRUD, достаточно универсального контроллера, который обновляет соответствующую модель домена (например, с использованием инструмента ORM, например Doctrine ).

Если вы действительно хотите иметь ту же модель на стороне клиента в JavaScript, зависит от вашего приложения. Мне нравится идея просто управлять одним объектом JavaScript на стороне клиента, который будет загружен через REST, а затем заполнен HTML-формами и отправлен обратно, например. как JSON (или как простая форма отправки) на сервер. Если вам нравится идея модели на стороне клиента, я рекомендую взглянуть на JavaScript MVC , в котором реализована довольно интересная модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...