Использование RESTful API для динамических сайтов - PullRequest
5 голосов
/ 14 января 2011

PHP и MySQL

При создании динамических веб-сайтов (может быть персональных, веб-приложений и т. Д.), Подходит ли использование запросов запросов API вместо запросов MySQL?

Пример в моей функции getArticles(), должен ли я использовать собственный запрос MySQL, например:

$sql = 'SELECT id, title, content
        FROM r_articles'
$result = mysql_query($sql) or die ('.. bla bla');

Или просто выполните запрос GET для: http://mysite.com/api/articles. Затем (должен быть ответ в формате JSON) отформатируйте ответ.

ПРИМЕЧАНИЕ: Конечно, сначала нужно создать API.

Ответы [ 3 ]

6 голосов
/ 14 января 2011

Это полностью зависит от типа вашего сайта. Если вы строите небольшой проект только с веб-интерфейсом, оставайтесь с вашими вызовами MySQL.

Если вы делаете сайт, который будет расти и обслуживать более одного сервиса, например приложение для Android / iPhone уже запланировано, создайте API и позвольте обоим приложениям использовать его. API-интерфейсы отлично подходят для масштабируемости и служат многим клиентам. Однако для веб-представления, например для ваших местных стоматологов это просто накладные расходы.

1 голос
/ 14 января 2011

Лично я нахожу этот метод довольно удивительным. Если вы знаете, что будете использовать этот API в будущем, это гарантирует, что ваш API имеет те же функции, что и веб-сайт, и объединяет всю вашу логику. Недостатком является то, что у вас, вероятно, будут дополнительные издержки.

P.S. В зависимости от предполагаемого размера вашего сервиса / веб-сайта, вы можете разместить его на своем поддомене (api.website.com).

1 голос
/ 14 января 2011

Мои два цента:

Я думаю, что многое зависит от приложения. Если ожидается, что приложение будет широко развернуто (через предприятие и т. Д.) Таким образом, что более чем одному сайту потребуется доступ к одним и тем же объектам, что и это приложение, запрос веб-службы для вашего объекта Article, вероятно, приведет к более чистому, более код многократного использования.

В то же время, я бы сказал, что есть некоторая дополнительная работа, связанная с разработкой и реализацией такого рода решения, а также дополнительные накладные расходы, связанные с выполнением дополнительных запросов GET от сценария PHP для выполнения такой обработки. Кроме того, могут быть риски безопасности, связанные с созданием внешнего интерфейса, подобного этому, который может потребоваться изучить.

Таким образом, моя рекомендация будет заключаться в том, чтобы объекты были хорошо инкапсулированы и создавались с использованием SQL, если сайт локальный и / или небольшой (поскольку всегда есть возможность предложить их через SOAP или JSON или что позже, если вы сделай это правильно :). Если, с другой стороны, это будет крупномасштабное распределенное приложение, то я бы проголосовал за то, чтобы потратить время вначале на создание какого-то API-интерфейса инфраструктуры сервисов, что может понадобиться вам позже. .

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