Легкий способ установить Laravel 8 + Homestead

И связать всё это с PHPStorm

Сегодня я расскажу вам, как я разворачиваю новый проект для разработки на Laravel. Ставить будем вместе с Homestead, которая собой представляет оболочку для Vagrant от разработчиков Laravel (грубо говоря - готовая идеальная виртуальная машина для Laravel без надобности её настраивать).

Установка Laravel в этом видео может немного отличаться от этого поста, потому что я его обновляю

Я не буду говорить вам, что именно я устанавливаю и зачем. Этот пост - всего лишь простой туториал, как запустить новое приложение Laravel за 10 минут.

Если вкратце, то после проведения этих действий, у вас будет идеальная Laravel на изолированной виртуальной машине, правильной работой с IDE и другими плюшками.

Если вы такой же перфекционист как и я, и вы считаете, что можно что-то улучшить - напишите об этом в комментариях, либо же выделите текст и нажмите сочетание клавиш Ctrl+Enter.

Требования

Этот пост не про то, как устанавливать эти вещи. Я думаю это вы сможете сделать самостоятельно (в этом нет ничего сложного, правда):

Шаг 1. Установка Laravel

  1. Откройте вашу консоль, перейдите в корневую папку вашего проекта (используя команду cd). Если вы используете PhpStorm, что это вам делать не нужно (это произойдет автоматически после открытия терминала).
  2. Выполните composer create-project --prefer-dist laravel/laravel ., чтобы скачать Laravel (не удаляйте точку вконце).

Шаг 2. Установка Homestead

  1. После окончания загрузки Laravel, выполните composer require laravel/homestead --dev, чтобы скачать Homestead.
  2. Теперь необходимо этот Homestead установить, выполнив команду.
    Для Windows это: vendor\\bin\\homestead make
    Для Linux/macOS: php vendor/bin/homestead make
  3. (Необязательно) Если в процессе разработки вы хотите использовать свой локальный (фейковый) домен, то нужно открыть файл Homestead.yaml (который находится в корневой папке проекта), найти директиву sites и изменить параметр map с homestead.test на любой домен (я обычно использую доменную зону loc, например: test.loc).
    Если вы сделаете это, то вам также нужно будет изменить ваш файл /etc/hosts, добавив туда строку 192.168.10.10 test.loc (файл hosts в Windows находится в этому пути: C:\Windows\System32\drivers\etc). Не забудьте изменить test.loc на ваш домен.
  4. Откройте файл .env в корневой папке проекта и поменяйте настройки соединения с БД:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# Для работы с MySQL DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret   # Для работы с PostgreSQL DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
  1. Запустите виртуальную машину, выполнив команду vagrant up.

Шаг 3. PHPStorm

  1. Активируйте плагин Laravel (Settings > Plugins > Laravel > Activate). После чего Settings > Languages & Frameworks > Laravel > Enable plugin for this project.
  2. Настройте подключение к БД (используя ранее внесенные в .env файл данные, с добавлением числа 0 в конец порта).
  1. Откройте Settings > Languages & Frameworks > PHP и измените версию PHP (PHP Language Level) на актуальную версию Homestead (чтобы её узнать, можно зайти на виртуальную машину Vagrant с помощью SSH: vagrant ssh > php -v > exit).
    После этого, на этой же странице с настройками в PHPStorm, найдите выпадающий список "CLI Interpreter" и нажмите на [...] > [+] (добавить новый) > From Docker, Vagrant… > Vagrant > OK.
  2. Идите в Settings > Command Line Tool Support > Нажмите на [+] (добавить новый).
    В Chose Tool выберите "Tool Based On Symphone Console" > OK > В alias type укажите artisan, в Path To Script нужно найти путь до файла artisan.php (в корневой папке проекта).
  3. Пометьте 🐶 некоторые каталоги, кликнув на них правой кнопкой мыши > Mark Directory as.
    Папку public - Resource root
    Папку tests - Test Sources Root
    Папки vendor & storage - Excluded
  4. (Необязательно) Измените стиль кода на стиль Laravel (Settings > Editor > Code Style > PHP > Set from (голубая ссылка справа) > Laravel).

Шаг 4. Установка Laravel Ide Helper

  1. Выполните composer require --dev barryvdh/laravel-ide-helper
  2. Откройте /config/app.php и добавьте строку Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class в секцию "Package Service Providers".
  3. Откройте файл composer.json и вставьте следующий код в секцию "scripts":
1 2 3 4 5 6 7 8 9 10 11 12 13
"post-update-cmd": [ "Illuminate\\Foundation\\ComposerScripts::postUpdate", "@ide-helper" ], "ide": [ "@ide-helper" ], "ide-helper": [ "@php artisan clear-compiled", "@php artisan ide-helper:generate", "@php artisan ide-helper:meta", "@php artisan ide-helper:models -N" ]
  1. Выполните composer ide-helper

Шаг 5. Настройка XDebug

  1. Идите в Settings > Languages & Frameworks > PHP > Servers > Click on [+] (добавить новый).
  2. В параметры Name и Host укажите ваш локальный домен (который вы создавали ранее, например: test.loc).
  3. Активируйте галку Use path mappings.
  4. Установите значение Absolute Path:
    /home/vagrant/code/ для корневой папки проекта
    /home/vagrant/code/public/ для папки /public

Шаг 6. Дополнительные настройки

  1. В корневом каталоге проекта откройте файл .gitignore и вставьте туда:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
# Laravel gitignore /node_modules /public/hot /public/storage /storage/*.key /vendor /.idea /.vagrant Homestead.json Homestead.yaml npm-debug.log .env   # Larave IDE Helper _ide_helper.php _ide_helper_models.php .phpstorm.meta.php   # misc .DS_Store reports/* !reports/.gitkeep npm-debug.log yarn-error.log .phpunit.result.cache /user-customizations.sh /postgres_backup /mysqldump.sql.gz /mysql_backup /aliases /after.sh /Homestead.yaml /Homestead.json/.idea /vendor /.vagrant phpunit.xml .buildpath .settings .project
  1. Выполните php artisan storage:link чтобы сделать ссылку на публичную директорию хранилища (от /public/storage/ на /storage/app/public/).

Установка завершена 😉

(Необязательно) Обычно я еще...

  1. Устанавливаю Laravel Debugbar выполняя командуcomposer require barryvdh/laravel-debugbar --dev.
  2. Генерирую файлы для регистрации и аутентификации выполняя composer require laravel/ui, за которой следует php artisan ui <type> --auth. Поменяйте <type> на необходимый тип (bootstrap, vue, react).
  3. Устанавливаю Laravel Telescope выполняя composer require laravel/telescope, за которой следует php artisan telescope:install, после чего php artisan migrate.

Управление виртуальной машиной

Homestead - это Vagrant. Поэтому, для управления виртуальной машиной, мы будем использовать Vagrant команды:

  • vagrant up для старта ВМ
  • vagrant halt для остановки ВМ
  • vagrant ssh для соединения с ВМ через SSH (exit чтобы выйти из SSH)
  • vagrant destroy -f <имя/ID ВМ> для удаления ВМ
  • vagrant global-status чтобы посмотреть все ВМ

Комментарии

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: