Для разработки используем OpenServer, локальную разработку размещаем по пути D:\Domains. Для удобства следует соответствующую версию PHP 7.* сделать доступной, поместив соответствующий путь в переменную PATH, то же самое касается MySQL. Далее последовательно выполняем следующие этапы:
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
При создании используем 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;"
Делаем .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}"
Правка нужна для возможности использования в проекте 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); // <- добавить
}
}
В корне проекта создаем файл 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
На этом все - шаблон сайта готов. Продолжение не следует ...