Синхронизируйте backbone.js с php / MySQL - PullRequest
4 голосов
/ 28 июля 2011

При разработке моего приложения я организовал свой интерфейс с backbone.js, где каждая модель представляла собой запись данных в БД MySQL.Я понимаю, как получить пользовательский ввод и изменить модель соответственно.Тем не менее, как вы SYNC это обратно в БД для достижения CRUD (Create, Read, Update Delete) с REST?

Я видел реализации, сделанные с Rails 3. Однако я знаю только javascript, jQuery, php, backbone.js.Я хотел бы знать самый быстрый способ сделать это, не изучая полностью известный язык Ruby для этой одной задачи.

1 Ответ

12 голосов
/ 28 июля 2011

Первое, на что я хотел бы обратить особое внимание, это то, что Backbone.js определенно не привязан к какой-либо конкретной серверной архитектуре, а именно к рельсам.Многие (большинство?) Из энтузиастов Backbone.js также являются энтузиастами рельсов, поскольку Backbone.js разработан в гармонии с спокойными образцами, которые сообщество рельсов очень увлечено.

Но если вы не хотите использовать Rails, вы все равно можете воспользоваться ПОЛНЫМ преимуществом Backbone.js

Прежде всего, решите, хотите ли вы реализовать спокойный интерфейс.Это очень легко сделать в php.Если вы используете Zend Framework, то у вас есть отличный компонент Zend_Rest, который поможет вам в создании мощного успокоительного API.В качестве альтернативы вы можете захотеть взглянуть на сравнительно новые фреймворки, такие как Recess и Fuel, которые имеют встроенную поддержку для удобного создания успокоительного apis.

Вы можете, конечно, закодировать свой собственный api restful с помощью vanilla php.

Обратите внимание, что выполнение нескольких соглашений сделает интеграцию Backbone очень удобной.Например.backbone ожидает, что записи будут иметь поле id, также backbone ожидает, что после отправки сервер записей вернет сериализованную обновленную запись json с обновленными полями, которая будет использоваться для обновления модели на стороне клиента.Забота о некоторых таких мелких вещах позволит вам создать свое приложение, не переопределяя большинство базовых классов.

Теперь, если ваш интерфейс api rest кардинально отличается от реализации rails или вы вообще не используете api rest, вам придется перепрограммировать функцию Backbone.Model.sync в соответствии с вашими требованиями.

...