Получить бесплатную консультацию
Оставьте свои контакты, и с Вами
свяжутся наши специалисты
Заявка успешно отправлена!
С вами свяжется наш консультант :)
Произошла какая-то ошибка, пожалуйста, обновите страницу и попробуйте снова.
Средний
30 уроков
(5 часов 6 минут)
Курс
Backbone.js
Видеокурс, который познакомит вас с Backbone.js. Данная библиотека придает структуру веб-приложениям.
Содержание

#25 — Менеджер контактов. Настройка серверной части Laravel.

Сегодня мы начинаем заключительный цикл скринкастов, посвященный Backbone.js. Мы будем создавать полноценное одностраничное приложение — менеджер контактов.

Всем привет! Начнем с настройки и написания серверной части. Я продолжаю использовать в качестве бэкэнда PHP фреймворк Laravel. Создадим модель Contact и таблицу Contacts в БД. Установим между ними связь и забьем таблицу данными.

Laravel модель

Команды для создания миграции

php artisan migrate:install
php artisan migrate:make create_contacts_table --table contacts --create

Код миграции

Команда самой миграции

php artisan migrate

Описываем данные в php массивах

Команда забивающая вышеописанные массивы данных в БД.

php artisan plant::seed all

Создаем контроллер и описываем базовую платформу из методов(actions) взаимодействующих с БД.

Команда создающая контроллер и загатовки для всех необходимых действий.

php artisan generate:controller Contacts index create store show edit update destroy

Код самого контроллера

Регистрируем контроллер в routes.php

Теперь подключаю и создаю main.js с кодом нашего глобального объекта приложения и вспомогательной функцией vent (pub/sub — шаблон).

На этом сегодня все. До следующего урока!

Делись:

Оставь комментарий!

14 thoughts on “#25 — Менеджер контактов. Настройка серверной части Laravel.

  1. Ranerg:

    Запишите скрипкаст по установке Laravel, я уже два дня пытаюсь его установить:)

    1. Eldar:

      Я установил при помощи менеджера пакетов composer, всё очень быстро. На сайте laravel есть туториал по установке.

      1. Ranerg:

        Да я уже справился, даже научился устанавливать сервер в ручную, раньше пользовался Denwer:) Это было обучение на ошибках:)

  2. kuzroman:

    Чтобы установить laravel нужно поставить composer, чтобы поставить composer нужно поднять сервер вручную (на denwer хз но не работает).

    Есть такое разделение Front-end и Back-end у разработчиков и оно не зря существует.
    Мне как frond-end лесть в дебри серверной части ну никак не хочется.
    Урок из категории Курсы->Backbone.js а это клиент.
    Так скажите зачем вы нас мучаете и заставляете настраивать всю эту муть.
    Авторы молодцы конечно, но я уже 2 дня е..усь с настройками сервера и хочется послать все в космос.

    Неужели нельзя было сделать тестовую страницу с json данными и сосредоточиться на получении json данных посредством backbone а не погружением в laravel?

    Без обид — авторам все равно респект за проделанный труд.

    1. NickyMeloman:

      kuzroman ведь не что не мешает вам сделать тестовую страницу самостоятельно :) мы хотели показать все максимально приближенно к настоящей работе и практике. И в реальной жизни, часто выходит, что frontend’щику надо понимать, как устроен бэкэнд, хотя бы самую базу, а иногда и ковыряться в серверном коде. И вообще в любом случае вы бы когда нибудь столкнулись бы с тем, что вам надо самостоятельно установить и настроить серверную часть, так что лучше узнать это сейчас. на уроках :)

      1. Parag0n:

        Скорее бы скринкаст по Laravel.

      2. kuzroman:

        Я самоучка. Года полтора писал на php пока не узнал о JS.
        Это была любовь с первой строчки))
        PHP люблю, а вот настраивать и обновлять WAMP — это труба. НЕ переношу, весь запал и творческий процесс исчезает.

        Я понимаю что можно и без laravel сделать эту задачу, но что то внутри заставляет меня изучать то, что порой идет со скрипом. И это окупается сполна позже.

    2. barbitura:

      Composer можно взять Windows инсталлером http://getcomposer.org/Composer-Setup.exe, он даже самостоятельно PATH пропишет.
      С денвером работает отлично.

      1. kuzroman:

        Может вы подскажете хорошую статью по замене php на более позднюю версию? Последний Laravel работает с версией не ниже 5.4

        1. barbitura:

          Попробуйте поставить laravel с помощью composer create-project laravel/laravel (нужно находиться в целевой директории). Только что специально установил — работает с PHP 5.3.13.
          Но если хотите, то вот вам пара ссылок:
          Для Windows:
          http://php.net/manual/ru/install.windows.manual.php

          http://www.softtime.ru/info/apache.php?id_article=95
          Taм установка 5.3.5, но 5.4 таким-же образом, главное — прописать в апачевском httpd.conf (c:/php-5.3.5/ — путь до PHP):
          LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
          AddType application/x-httpd-php phtml php
          PHPIniDir «c:/php-5.3.5/»

          http://berezovskiy.org.ua/2012/03/obnovlenie-denvera-do-php-5-4/

          Это для Ubuntu:
          http://tyomo4ka.blogspot.com/2012/12/php-53-php-54-ubuntu-1204-lbs.html

  3. barbitura:

    Решил откликнуться на крик души фронтендщиков, которым, действительно, не с руки особенно углубляться в серверную часть.

    Хороший cheat sheet по Laravel 4: http://cheats.jesse-obrien.ca/

    Все комманды php artisan выполняются в командной строке в каталоге где установлен Laravel

    Итак, изменения с учётом Laravel 4:

    1) Миграции :
    Создаются с помощью php artisan migrate:make migration_name
    Если хотите создать таблицу, то добавьте —create —table=»table_name»
    Лежат в app/database/migrations, созданную миграцию надо изменить с учётом структуры таблицы (код из урока полностью подходит).

    2) Сиды:
    От чего наследуются и общий вид можно посмотреть здесь http://laravel.com/docs/migrations#database-seeding
    Находятся в app/database/seeds

    public function run()
    {
    DB::table(‘table_name’)->truncate();

    DB::table(‘table_name’)->insert(array(
    array(‘field_1’ => data_1, ‘field_2’ => data_2,),

    array(‘field_1’ => data_n, ‘field_2’ => data_n,),
    ));
    }
    После создания необходимо вызвать этот класс из DatabaseSeeder или указать имя нового класса в artisan

    3) Контроллеры:
    Находятся в app/controllers
    Контроллер ресурсов (что нам и надо), генерируется командой php artisan controller:make ControllerClassName
    Потом зайдите в app/routes.php и пропишите роут для него Routes::resource(‘route-name’, ‘ControllerClassName’)
    Больше о контроллерах: http://laravel.com/docs/controllers#resource-controllers

    П.с.
    Надеюсь пригодится, code happy!

  4. barbitura:

    Да чего я тут распыляюсь, оказывается всё это уже есть на русском =)
    http://laravel.ru/docs/v4/
    Смотрите:
    Маршрутизация, Запросы и ввод, Шаблоны и отклики, Контроллеры

  5. Алексей:

    Авторы, молодцы. Всё очень круто. Но всё же чисто моё мнение. Что уж если курс по Backbone то и изучать нужно чисто Backbone. У меня допустим абсолютно нет времени и желания сейчас разбираться с Laravel. А так всё супер. 5+ )

  6. SadekiSan:

    Ко всему ниже сказанному (в том числе и в предыдущих уроках), чтобы работало в laravel 4.2:

    В роутах:

    Route::controller(‘/contacts’, ‘ContactsController’);

    В контроллере названия методов меняются следующим образом:

    public function getIndex(){
    }
    public function getCreate(){
    }

    и т. д.

Добавить комментарий

Рекомендуемые курсы