8 (499) 346-7733
8 (926) 148-7733
МНОГОКАНАЛЬНЫЕ

Базовая сборка сайта (приложения) на Laravel 7.x

Базовая сборка сайта (приложения) на Laravel 7.x

Базовая сборка сайта (приложения) на Laravel 7.x

Данный материал содержит инструкцию по сборке базового сайта (приложения) на Laravel Framework 7.x под операционной системой Windows с установленным Open Server. Open Server Panel — это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий.

Скачать Open Server можно здесь https://ospanel.io/. Установка его абсолютно интуитивно понятна. Весь материал, касающийся именно базовой настройки Laravel, так же справедлив и для таких операционных систем, как Mac OS и Linux, естественно с учётом их особенностей.

I. Установка Composer на OpenServer
1) Допустим, мы установили Open Server в каталог D:\OSPanel\. Переходим к текущему модулю PHP, например:
D:\OSPanel\modules\php\PHP_7.3-x64

2) Запускаем:
php -r "readfile('https://getcomposer.org/installer');" | php
или Composer-Setup.exe, указывая  D:\OSPanel\modules\php\PHP_7.3-x64

3) Проверяем какая версия стоит командой: 
php composer.phar -V

4) Создаём .bat файл и в дальнейшем можно будет работать без указания php composer.phar, просто указывая composer:
echo @php "%~dp0composer.phar" %*>composer.bat

II. Установка Laravel

1. Запускаем консоль OpenServer

2. Переходим в папку \OSPanel\domains

3. Запускаем команду
composer create-project --prefer-dist laravel/laravel laravel.empty.blog
где laravel.empty.blog – каталог нашего проекта

4. Устанавливаем Node.JS https://nodejs.org/en/

5. Запускаем OpenServer, и идем в настройки. Во вкладке «Сервер» в поле «Настройка использования переменной Path» выставляем «Свой Path + userdata/config/path.txt». Создаем файл в папке \OpenServer\userdata\config\ под именем path.txt следующего содержания:

C:\Program Files\nodejs\

6. Перезапускаем OpenServer

7. Проверяем npm -i

8. Запускаем консоль, переходим в папку проекта D:\OSPanel\domains\laravel.empty.blog

9. Запускаем установку npm install

10. В OpenServer идем в настройки. Во вкладке «Домены» добавляем папку D:\OSPanel\domains\laravel.empty.blog\public -> имя домена laravel.empty.blog

11. Проверяем в браузере http://laravel.empty.blog

12. В OpenServer идём в «Дополнительно» phpmyadmin (логин root без пароля)

13. Создаём базу laravel.empty.bl в кодировке utf8mb4_general_ci

14. Редактируем файл .env в \OSPanel\domains\laravel.empty.blog\

APP_NAME=Laravel.Empty.Blog
APP_URL=http://laravel.empty.blog
DB_DATABASE=laravel.empty.bl

Можно настроить smtp (на примере Яндекс):

MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=587
MAIL_USERNAME=ВАШ_ЛОГИН
MAIL_PASSWORD=ВАШ_ПАРОЛЬ
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=ВАШ_EMAIL
MAIL_FROM_NAME="${APP_NAME}"

15. В консоли в папке \OSPanel\domains\laravel.empty.blog\ запускаем команду php artisan config:cache

16. В :\OSPanel\domains\laravel.empty.blog\resources\views\welcome.blade.php меняем:

< title >Laravel< / title >
на < title >{{ config('app.name'') }}< / title >
Надпись Laravel в < div class="title m-b-md">
на {{ config('app.name') }} ;)



III. Запуск сайта (приложения) на Laravel.


17. Проверяем в браузере http://laravel.empty.blog

Мы должны увидеть: Laravel.Empty.Blog ;)

18. Открываем папку нашего проекта в PHPStorm или в другой IDE

19. Версию установленного Laravel можно поверить командой (в консоли в папке проекта):

php artisan -V

В нашем случае это Laravel Framework 7.6.2


20. Список всех команд: php artisan

21. Модифицируем файл app/Providers/AppServiceProvider.php

Без этих изменений может возникать ошибка:
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Дело в том, что в Laravel 5.4 изменилась кодировка по умолчанию для базы данных (теперь это utf8mb4 для поддержки emoji). Ошибка Specified key was too long error проявляется только для MySQL ниже v5.7.7 и в старых версиях MariaDB.

Итак, в app/Providers/AppServiceProvider.php добавляем:

1) Добавьте строку в блоке use: use Illuminate\Support\Facades\Schema;
2) Добавьте в метод boot строку: Schema::defaultStringLength(191);

22. Запускаем миграции: php artisan migrate

Вариант сообщений при успешном выполнении миграций:

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.44 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.24 seconds)

В базе данных laravel.empty.bl создались таблицы failed_jobs и users

23. Добавляем механизм авторизации пользователей

Каркас фронтенда, обычно поставляемый с предыдущими версиями Laravel, был перенесен в отдельный пакет laravel/ui. Это позволяет создавать и версионировать пользовательские интерфейсы отдельно от основного фреймворка. В результате этого изменения в дефолтном каркасе фреймворка не будет Bootstrap и Vue.
Также была вынесена из фреймворка команда make:auth.Чтобы восстановить традиционный каркас Vue/Bootstrap, имеющийся в предыдущих версиях Laravel, вы можете установить пакет laravel/ui и использовать artisan команду ui для установки фронтенд каркаса.


Устанавливаем пакет: composer require laravel/ui

Устанавливаем фронтенд: php artisan ui vue --auth

Загружаем пакеты фронтенда: npm install

Запускаем нашу сборку в режиме разработчика: npm run dev

В результате последней команды будут скомпелированы файлы стилей и скриптов
/css/app.css
/js/app.js


24. Процесс регистрации.

Если всё сделано правильно, то перейдя на наш сайт http://laravel.empty.blog мы увидим в верхнем углу 2 пункта меню Login и Register.

Производим регистрацию нового пользователя – вводим имя, e-mail, пароль и подтверждение пароля. После успешной регистрации вы должны увидеть надпись You are logged in!

Это значит, что регистрация прошла успешно и Вы уже авторизованы на сайте!

Поздравляем! Базовая сборка сайта на Laravel 7 произведена, и теперь Ваш сайт полностью готов к дальнейшему развитию!


25. Git

Весь код к данному материалу находиться в общедоступном репозитории:
https://github.com/Best-ITPro/LaravelEmptyBlog_Blank.git

Вы можете скачать и использовать его для создания Ваших приложений.

В дальнейшем будет опубликована более расширенная версия сайта (приложения), которая будет содержать механизм публикации статей в различных категориях.


С уважением,
Команда Best IT Pro
http://best-itpro.ru

18.04.2020

Возврат к списку


Строительство теннисных кортов