2015-01-17 2 views
0

Это мой первый раз, пытаясь попасть в рамки RESTful для Javascript и PHP. В частности, это микро-рамки CanJS для Javascript и Slim для PHP.RESTful фреймворки Javascript и RESTful фреймворки PHP

Кажется, что каждый из них отображает 4 «глагола» HTTP (Get, Post, Put, Delete) для операций CRUD базы данных.

Итак, в каких случаях можно использовать один над другим? В каких случаях можно использовать оба в тандеме?

Объясните, как мне пять? (. Это, вероятно, будет редактироваться, но извините, я не мог сопротивляться)

+1

Используйте один для языка, который вы знаете лучше всего. REST - это HTTP, поэтому вы можете использовать любую технологию интерфейса, которая может выполнять вызов AJAX. – duffymo

ответ

1

Некоторые из вашего кода говорит CanJS, «Пожалуйста findOne этого Foo объекта, идентификатор является 1»

Модели CanJS говорят Slim-сервисам: «Привет, могу ли я GET этот объект у вас есть/foos/1?"

Слим говорит: «Конечно, здесь какой-то текст, который представляет его {бла}»

CanJS и Слим заранее договорились о том, что объект выглядит, поэтому, когда CanJS видит текст, он знает, как сделать объект из него разбора

CanJS берет текста, разбирает его, делает что-то, что выглядит как Foo (Foo является особым типом can.Model, что вы сделали подклассами) из него, и отправляет его обратно в ваш код с помощью успеха callback или разрешено обещание.

Когда вы используете фреймворк на стороне клиента, который обтекает REST, вам всегда нужна соответствующая служба на стороне сервера, которая предоставляет конечные точки REST (что-то для обработки запросов GET/POST/PUT/DELETE). Поэтому не стоит выбирать между CanJS и Slim, но вопрос выбора Slim или что-то еще для совместной работы (предоставить данные) CanJS.

+0

Спасибо. Некоторые разъяснения, пожалуйста: (1) Зачем нужен PHP на заднем конце? В конце концов, AJAX может работать напрямую с базой данных, нет? (2) Итак, обязательно ли понадобится инфраструктура сервера обертки ReST на сервере? Вместо этого будет работать PHP? –

+0

(1) Нет. AJAX не работает напрямую с базами данных * кроме * некоторых особых случаев, таких как MongoDB в версиях разработки (вы никогда не захотите разворачивать их на производстве). –

+0

(2), если вам не нужно выполнять полный жизненный цикл CRUD на объектах данных (например, вы просто читаете данные из базы данных и не обновляете их), вам может не понадобиться REST. Это связано с потребностями вашего приложения. REST делает работу с объектами согласованной, и вы должны использовать REST, если вам нужно постоянно работать с объектами. Использование рамок браузера, таких как CanJS, приводит к тому, что некоторые из PHP обычно делают (вывод данных на страницы) подальше от сервера, чтобы сделать страницы более динамичными (иногда используя только одну страницу для всего приложения) и нуждаются в необработанных данных через REST для этого. –

Смежные вопросы