Создать новый проект на Laravel 5.6: установка и настройка

Смотрите полный список уроков laravel 5.6. Быстрый старт для тех, кто хочет программировать с использованием PHP фреймворка Laravel, но не знает с чего начать. Что ж, представляют свой Laravel Quick Start! Для начала работы нужно инициализировать Laravel с помощью Composer (который должен быть предварительно установлен). Все действия успешно выполняются в Windows, MacOs, Linux и даже в Docker.

composer create-project --prefer-dist laravel/laravel project

Вместо project можно указать любую другую директорию. На этом можно было бы остановиться, но давайте рассмотрим несколько лайфхаков облегчающих разработку проекта на Laravel. Важно: для версий Laravel отличных от 5.6 выполняемые команды и настройки могут отличаться!

Переходим в неё после завершения инициализации:

cd project

Установка Laravel IDE Helper Generator

Сразу же рекомендую установить Laravel IDE Helper Generator для генерации файлов-хелперов на основе кода приложения позволяющих IDE, например, PhpStorm использовать в автодополнении сущности фреймворка. Эти файлы никак не используются приложением, но нужны только для подсказок автодополнения.

Впервые увидев код Laravel в IDE можно испытать шок: все так называемые фасады для работы с компонентами фреймворка не распознаются IDE и Установка Laravelть у этих фасадов и какие аргументы им можно передавать.

composer require --dev barryvdh/laravel-ide-helper

Также может потребоваться установка компонента Doctrine DBAL.

composer require --dev doctrine/dbal

Обратите внимание на флаг —dev, он готовит о том, что данные пакеты будут устанавливаться только для dev-сборки приложения, и не будут устанавливаться в production.

Затем скопируем конфиг в папку с проектом:

php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config

Эта команда создаст файл \config\ide-helper.php, откроем его и переопределим значение include_fluent с false на true. Это сгенерирует дополнительные хелперы для поддержки цепочек вызовов в автодополнении.

Генерация подсказок ядра Laravel для PhpStorm

Теперь можно приступить к запуску генерации helper-файлов:

php artisan ide-helper:generate

Сгенерирует файл _ide_helper.php содержащий в себе все сигнатуры классов и методов фреймворка.

php artisan ide-helper:meta

Создаст файл .phpstorm.meta.php

Все эти файлы нужно добавить в файл .gitignore, если конечно вы используете GIT в своей работе.

# IDE helper meta-files
/_ide_helper.php
/.phpstorm.meta.php
/_ide_helper_models.php

Автозапуск команд после обновления

Теперь немножко автоматизации. Чтобы вручную не запускать эти команды после каждого обновления Laravel и зависимостей, можно добавив в файл composer.json несколько строк:

"scripts":{
    "post-update-cmd": [
        "Illuminate\\Foundation\\ComposerScripts::postUpdate",
        "php artisan ide-helper:generate",
        "php artisan ide-helper:meta"
    ]
},

Генерация мета-информации для моделей

Но это ещё не всё, Laravel IDE Helper Generator умеет генерировать мета-информацию для моделей. Можно запустить генерацию для всех моделей, для одной конкретной, для всех кроме перечисленных, а так же указать папки в которых находятся файлы с моделями. Но, прежде чем это сделать, нужно указать в конфигурационном файле .env креденшелы для подключения к БД:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
php artisan ide-helper:models
php artisan ide-helper:models Post
php artisan ide-helper:models --ignore="Post,User"
php artisan ide-helper:models --dir="path/to/models" --dir="app/src/Model"

Установка Laravel Debugbar

Следующий пакет от того же разработчика будет must have для тех, кто разрабатывает на Laravel веб-сайты и приложения. Laravel Debugbar представляет из себя небольшую плашку внизу страницы, на которой удобно сгруппированы вкладки с состоянием всех компонентов фреймворка.

Пакет позволит  знать какой роут отработал, сколько было вызвано SQL-запросов и сколько они заняли времени, информацию о текущем пользователе, какие файлы шаблонов использовались для генерации страницы и какие значения в них передавались и многое другое.

Screenshot

composer require --dev barryvdh/laravel-debugbar
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Так же компонент позволяет выводить в отладочную консоль любые сообщения во время исполнения скрипта, например:

Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel');

Также рекомендую ознакомиться с разделом документации laravel 5.6 на русском языке.