Ну что же, серверная часть готова, самое время взяться за клиентскую. Пользовательский интерфейс мы создадим используя js фреймворк angelarjs (функционал) и css фреймворк twitter bootstrap (интерфейс). Одностраничное приложение Вся работа с клиентской частью приложения будет осуществляться через уже созданный нами файл client/index.html, который нам и отдает веб-сервер при открытии http://client.local. Описание приложения AngularJS Добавим атрибут ng-app тегу html. Назовем наше приложение yii2AngApp. <!DOCTYPE… Читать далее »
Теперь, когда все подготовительные работы закончены, можно всерьез заняться нашим приложением. PHP фреймворк Yii 2.0 позволяет быстро и просто создать необходимый нам функционал, включая RESTful api. Забыл сказать, в этом учебном приложении мы реализуем простой каталог фильмов. Данные каталога будем хранить в базе данных mysql. Структура базы данных Создадим базу данных yii2-ang и добавим в нее таблицу film со следующей структурой: id… Читать далее »
Для начала, подготовим рабочее окружение, скачаем все необходимые библиотеки и создадим шаблоны будущих приложений. Будем считать, что у нас есть 2 домена: client.local и server.local. Создадим для них корневые соответствующие корневые каталоги: client и server. И настроим наш веб-сервер. Примерная конфигурации для apache: <VirtualHost *:80> ServerName client.local DocumentRoot /var/www/yii2-angular/client ErrorLog /var/www/yii2-angular/logs/error.log CustomLog /var/www/yii2-angular/logs/access.log </VirtualHost> <VirtualHost *:80> ServerName server.local DocumentRoot /var/www/yii2-angular/server/web ErrorLog… Читать далее »
В далекие времена веб 1.0 одностраничные веб-приложения (Single Page Application) были как мамонты: редкие и, зачастую, построенные на костылях с большим количеством разной степени структурированности js кода. В наше время 2.0 существуют и успешно развиваются не только серверные, но и клиентские фреймворки и библиотеки: JQuery, Backbone.js, Ember.js, CanJS, AngularJS, KnockoutJS. По сути, разделение приложения на серверную и клиентскую части, в большинстве случаев оправдывается снижением… Читать далее »