Заготовка для создания простейшего сайта на Laravel 8 :: Cетевой уголок Majestio

Заготовка для создания простейшего сайта на Laravel 8


Для разработки используем OpenServer, локальную разработку размещаем по пути D:\Domains. Для удобства следует соответствующую версию PHP 7.* сделать доступной, поместив соответствующий путь в переменную PATH, то же самое касается MySQL. Далее последовательно выполняем следующие этапы:

1.Предварительная установка

mkdir D:\Domains\laravel-project.tpl
cd D:\Domains\laravel-project.tpl
composer create-project --prefer-dist laravel/laravel laravel
cd D:\Domains\laravel-project.tpl\laravel
composer require barryvdh/laravel-debugbar --dev
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Создается каталог для домена http://laravel-project.tpl и устанавливается DebugBar, который включается/выключается .env файле в строке APP_DEBUG=true. Этот компонент позволяет выводить в отладочную консоль любые сообщения во время исполнения PHP-скрипта, например:

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

Веб-сервер из OpenServer использует корневой каталог сайта public_html, для этого используем утилиту junction.exe и пакета утилит Марка Русиновича SysInternals, делаем хард-линк:

C:\Tools\SysInternals\junction.exe D:\Domains\laravel-project.tpl\public_html D:\Domains\laravel-project.tpl\laravel\public

2.Создание базы данных

При создании используем login=root и password=root:

mysql --user=root --password=root --execute="DROP DATABASE laravel_project;"
mysql --user=root --password=root --execute="CREATE DATABASE laravel_project CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;"

3.Правка .env файла

Делаем .env из предоставленных после инсталляции примеров и правим:

APP_URL=http://laravel-project.tpl
APP_DEBUG=true

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_project
DB_USERNAME=root
DB_PASSWORD=root

MAIL_MAILER=smtp # у многих провайдеров это не прокатит, тогда используем значение sendmail
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=465
MAIL_USERNAME=you_mail@ya.ru
MAIL_PASSWORD=youpassword
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=you_mail@ya.ru
MAIL_FROM_NAME="${APP_NAME}"

4.Правка app\Providers\AppServiceProvider.php

Правка нужна для возможности использования в проекте utf8mb4:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; // <- добавить

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191); // <- добавить
    }
}

5.Создание пакетного файла для очистки кэшей и оптимизации

В корне проекта создаем файл clear.cmd следующего содержания:

@echo off
cd laravel
composer dump-autoload
php artisan clear-compiled
php artisan config:cache
php artisan cache:clear
php artisan route:cache
php artisan view:clear
php artisan optimize
::php artisan migrate:refresh --seed

На этом все - шаблон сайта готов. Продолжение не следует ...

Рейтинг: 3.6/5 - 5 голосов