• RESTful API и MVC — что это?

    Основной посыл использования RESTful API - применение основной идеи Паутины для взаимодействия автоматических агентов (приложений), а не только людей.
    Основная идея Паутины - построение распределенной информационной системы путем публикации неких абстрактных ресурсов, выдачи им идентификаторов (в сегодняшнем вебе - иерархических), определения ряда простых и широко известных операций над ними, не зависящих от содержимого ресурса (те самые GET, POST, PUT и т.д.), и связывания этих ресурсов ссылками (это называется гипермедиа, и в частности, гипертекст, если речь идет о текстовой информации).
    Как люди с появления Веба публикуют информацию в нем для потребления другими людьми, так и RESTful веб-сервисы публикуют иерархически структурированные ресурсы для потребления клиентами. Разница только в представлении - для людей это plaintext/HTML, для автоматических агентов - это JSON/XML/прочие форматы, которые удобно обрабатывать.
    Таким образом, если вы хотите какую-то информацию опубликовать как RESTful API, вам необходимо представить ее как набор ресурсов, а все операции над этой информацией выразить через набор предопределенных операций. Фишка в том, что во многих задачах этих предпопределенных операций вполне достаточно, главное правильно определить ресурсы.
    Важно понимать, что "ресурс" это обычно некоторая сущность, "существительное". Как правильно заметил Антон Жуков , ресурс /getItems хоть и может существовать в принципе, говорит о неудачно спроектированном API (действие представлено как ресурс).

    Есть и другие подходы к архитектуре распределенных приложений, например архитектуры, основанные на RPC (удаленный вызов процедур). Информация в таких архитектурах также представлена в виде некоторого набора сущностей, однако операции над ними определяются конкретной задачей, и для каждой сущности будет свой набор. Это больше соотвествует классическому ООП-подходу. Таким образом, RESTful следует подходу много сущностей (ресурсов) - мало операций (и эти операции известны заранее), а RPC - немного сущностей, но много операций над ними.

    Также важной чертой REST является отсутствие состояния, сохраняемого между запросами к ресурсам. Это очень важно для масштабирования системы.

    Сама архитектура REST не привязана к конкретным технологиям и протоколам, но в реалиях современного Веб, построение RESTful API почти всегда подразумевает использование HTTP и каких-либо распространенных форматов представления ресурсов, например JSON, или, менее популярного сегодня, XML.

    Смысл использования REST в том, что принципы, хорошо показавшие себя в "человеческом" веб и позволившие построить самую большую распределенную ИС, применяют и для "веба машин".

    Ответ длинноват, но как короче объяснить, чтобы не исказить понимание, не представляю. Если что непонятно - спрашивайте.
    Ответ написан
    7 комментариев
  • Как установить yii 2 на openserver?

    NoizeMC
    @NoizeMC
    junior PHP (Yii2) разработчик
    Понимаю, что вопрос был задан давно, но поиск все еще приводит на эту страницу. Сегодня начал изучать yii2 и столкнулся с той же проблемой. Возможно, кому-то поможет.

    Решение же оказалось очень простым.
    1. В Openserver уже встроен Composer, его устанавливать не нужно
    2. Из первого пункта следует, что для установки yii нужно использовать только команду composer

    Пример:
    В официальном руководстве для установки yii2 нужно сделать:
    php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"

    в консоли openserver вам нужно набрать ТОЛЬКО это:
    composer global require "fxp/composer-asset-plugin:~1.1.1"

    Дальше вы набираете соответственно:
    composer create-project yiisoft/yii2-app-basic basic 2.0.9

    Те php composer.phar меняется на composer и все работает

    PS при выполнении composer create-project yiisoft/yii2-app-basic basic 2.0.9 лучше перейти в корневую папку вашего сайта или указать адрес при создании, например так:
    composer create-project yiisoft/yii2-app-basic domains/internet-shop/basic 2.0.9

    При это создатся папка internet-shop в стандартном Openserver хранилище domains, где будет размещен базовый yii2. Имя basic конечно тоже можно поменять.

    Для того, чтобы настроить Openserver для запуска проекта на yii2 в браузере вида shop.ru вместо shop.ru/basic/web
    советую обратиться к этой статье, тут два простых решения
    Ответ написан
    Комментировать
  • Как проверить работает ли composer?

    @ultrasoft
    Возможно, это подцепился composer, который идет с Open Server. Там рядом с php.exe лежат файлы composer.bat и composer.phar. Версия их уже давнишняя, стоит их стоит куда-нибудь переместить или удалить.
    Ответ написан
    7 комментариев