Первое знакомство с Laravel

Установка

Тут все просто документация нам в помощь.

composer global require laravel/installer
cd /var/www/html/laravel
composer create-project --prefer-dist laravel/laravel my_new_project
sudo chown -R www-data:www-data my_new_project
cd my_new_project
sudo chmod -R 775 storage
sudo chmod -R 775 bootstrap/cache

Теперь создадим файл .htaccess

<ifmodule mod_rewrite.c="">
    <ifmodule mod_negotiation.c=""<
        Options -MultiViews
    </ifmodule<

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ ^$1 [N]

    RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
    RewriteRule ^(.*)$ public/$1

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ server.php

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

</ifmodule<

Настройка

За настройку подключения к базе данных отвечают строки 

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Ситуации

Добавления своей настройки в config/app.php

'my_config' => [
        'par1'=>10,
        'par2'=>'qwerty',
    ]

И получение

config('app.my_config.par1')

Миграция и миграция с заполнением

php artisan migrate:refresh
php artisan migrate:refresh --seed

Свои логи для

Нам нужен файл config\logging.php. Скорее всего там мы увидим вот такой кусок кода

'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['single'],
            'ignore_exceptions' => false,
        ],

Добавим my_log_ch что бы получилось

'stack' => [
            'driver' => 'stack',
            'channels' => ['single', 'my_log_ch'],
            'ignore_exceptions' => false,
        ],
        'my_log_ch' => [
            'driver' => 'single',
            'path' => storage_path('logs/my_log_ch.log'),
            'level' => 'debug', //error
        ],

Теперь свой лог можно например написать

Log::channel('my_log_ch')->debug("Текст", ["param1"=>"123456"]);

Теперь выполним в консоли (или сходим посмотрим)

clear; tail -n 10 storage/logs/my_log_ch.log

[2020-03-27 18:48:00] local.DEBUG: Текст {"param1":"123456"}

Если в дальнейшем понадобится отключить все debug и оставить например только error, просто поменяем level => error

Вывести текст SQL запроса

DB::enableQueryLog();
dd(DB::getQueryLog());

.