Сегодня я расскажу вам, как я разворачиваю новый проект для разработки на Laravel. Ставить будем вместе с Homestead, которая собой представляет оболочку для Vagrant от разработчиков Laravel (грубо говоря - готовая идеальная виртуальная машина для Laravel без надобности её настраивать).
Я не буду говорить вам, что именно я устанавливаю и зачем. Этот пост - всего лишь простой туториал, как запустить новое приложение Laravel за 10 минут.
Если вкратце, то после проведения этих действий, у вас будет идеальная Laravel на изолированной виртуальной машине, правильной работой с IDE и другими плюшками.
Если вы такой же перфекционист как и я, и вы считаете, что можно что-то улучшить - напишите об этом в комментариях, либо же выделите текст и нажмите сочетание клавиш Ctrl+Enter.
Требования
Этот пост не про то, как устанавливать эти вещи. Я думаю это вы сможете сделать самостоятельно (в этом нет ничего сложного, правда):
- Composer - установить
- Git - установить
- Oracle VirtualBox - установить
- Vagrant - установить
Шаг 1. Установка Laravel
- Откройте вашу консоль, перейдите в корневую папку вашего проекта (используя команду cd). Если вы используете PhpStorm, что это вам делать не нужно (это произойдет автоматически после открытия терминала).
- Выполните composer create-project --prefer-dist laravel/laravel ., чтобы скачать Laravel (не удаляйте точку вконце).
Шаг 2. Установка Homestead
- После окончания загрузки Laravel, выполните
composer require laravel/homestead --dev
, чтобы скачать Homestead. - Теперь необходимо этот Homestead установить, выполнив команду.
Для Windows это: vendor\\bin\\homestead make
Для Linux/macOS:php vendor/bin/homestead make
- (Необязательно) Если в процессе разработки вы хотите использовать свой локальный (фейковый) домен, то нужно открыть файл 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 на ваш домен. - Откройте файл .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
- Запустите виртуальную машину, выполнив команду vagrant up.
Шаг 3. PHPStorm
- Откройте Settings > Languages & Frameworks > PHP и измените версию PHP (PHP Language Level) на актуальную версию Homestead (чтобы её узнать, можно зайти на виртуальную машину Vagrant с помощью SSH: vagrant ssh > php -v > exit).
После этого, на этой же странице с настройками в PHPStorm, найдите выпадающий список "CLI Interpreter" и нажмите на [...] > [+] (добавить новый) > From Docker, Vagrant… > Vagrant > OK. - Идите в Settings > Command Line Tool Support > Нажмите на [+] (добавить новый).
В Chose Tool выберите "Tool Based On Symphone Console" > OK > В alias type укажите artisan, в Path To Script нужно найти путь до файла artisan.php (в корневой папке проекта). - Пометьте
некоторые каталоги, кликнув на них правой кнопкой мыши > Mark Directory as.
Папку public - Resource root
Папку tests - Test Sources Root
Папки vendor & storage - Excluded - (Необязательно) Измените стиль кода на стиль Laravel (Settings > Editor > Code Style > PHP > Set from (голубая ссылка справа) > Laravel).
Шаг 4. Установка Laravel Ide Helper
- Выполните composer require --dev barryvdh/laravel-ide-helper
- Откройте /config/app.php и добавьте строку Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class в секцию "Package Service Providers".
- Откройте файл 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" ]
- Выполните composer ide-helper
Шаг 5. Настройка XDebug
- Идите в Settings > Languages & Frameworks > PHP > Servers > Click on
[+]
(добавить новый). - В параметры Name и Host укажите ваш локальный домен (который вы создавали ранее, например: test.loc).
- Активируйте галку Use path mappings.
- Установите значение Absolute Path:
/home/vagrant/code/ для корневой папки проекта
/home/vagrant/code/public/ для папки /public
Шаг 6. Дополнительные настройки
- В корневом каталоге проекта откройте файл .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
- Выполните php artisan storage:link чтобы сделать ссылку на публичную директорию хранилища (от /public/storage/ на /storage/app/public/).
Установка завершена
(Необязательно) Обычно я еще...
- Устанавливаю Laravel Debugbar выполняя командуcomposer require barryvdh/laravel-debugbar --dev.
- Генерирую файлы для регистрации и аутентификации выполняя composer require laravel/ui, за которой следует php artisan ui <type> --auth. Поменяйте <type> на необходимый тип (bootstrap, vue, react).
- Устанавливаю 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 чтобы посмотреть все ВМ
Понравилось прочитанное?
Дайте мне «пять», кликнув раз, или же поаплодируйте быстрыми нажатиями, чтобы показать, насколько вам понравился материал.
Комментарии