Дополнительные приложения

Данная инструкция содержит список приложений и порядок установки их, используемых в проекте CMS. В системе уже должен быть установлен компосер и соответствующая версия PHP.

Debugbar

Удобная панель для debug.

https://github.com/barryvdh/laravel-debugbar

Запустите команду в терминале.

composer require barryvdh/laravel-debugbar --dev

Google ReCaptcha

https://github.com/google/recaptcha
https://packagist.org/packages/google/recaptcha

Запустите команду в терминале.

composer require google/recaptcha

Laravel log viewer

Удобная просмотрщик файлов логов.

https://github.com/rap2hpoutre/laravel-log-viewer

Запустите команду в терминале.

composer require rap2hpoutre/laravel-log-viewer

Ниже описаны действия, которые уже должны быть сделаны, если устанавливали по инстукции, тогда это не делать!

В routes/web.php прописать:

Route::get('/logs', '\Rap2hpoutre\LaravelLogViewer\LogViewerController@index');

Скопировать вид:

resources/views/vendor/laravel-log-viewer/log.blade.php

Spatie/laravel-backup

Резервное копирование файлов и базы данных.

https://packagist.org/packages/spatie/laravel-backup
https://github.com/spatie/laravel-backup
https://docs.spatie.be/laravel-backup/v6/installation-and-setup
https://packagist.org/packages/spatie/nova-backup-tool

Запустите команду в терминале.

composer require spatie/laravel-backup

Команда в терминал, чтобы появился config/backup.php.

php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

В файле config/backup.php:

'mail' => [
'to' => env('APP_EMAIL'),
],

Ниже описаны действия, которые уже должны быть сделаны, если устанавливали по инстукции, тогда это не делать! В файле /config/database.php:

'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],

'dump' => [
'dump_binary_path' => env('DB_BINARY_PATH'), // only the path, so without `mysqldump` or `pg_dump`
//'dump_binary_path' => '/path/to/the/binary', // only the path, so without `mysqldump` or `pg_dump`
'use_single_transaction',
'timeout' => 300, // 5 minute timeout
//'exclude_tables' => ['table1', 'table2'],
//'add_extra_option' => '--optionname=optionvalue',
],
],

Использование, запустите команду в терминале:

php artisan backup:run - резервное копирование и дамп.
php artisan backup:run --only-db - только дамп.
php artisan backup:run --only-files - только резервное копирование.

Maatwebsite / Laravel-Excel

Приложение для импорта, экспорта базы данных в файл эксель.

https://github.com/Maatwebsite/Laravel-Excel
https://docs.laravel-excel.com/3.1/getting-started/installation.html

Запустите команду в терминале.

composer require maatwebsite/excel

Создадим конфиг в терминале:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

Ниже описаны действия, которые уже должны быть сделаны, если устанавливали по инстукции, тогда это не делать!

Добавим маршруты:

Route::get('import-export', 'Admin\importExportController@view');
Route::get('export', 'Admin\importExportController@export')->name('export');
Route::post('import', 'Admin\importExportController@import')->name('import');

Создадим модель Import кодандой:

php artisan make:import ProductsImport --model=Product

Создадим модель Export кодандой:

php artisan make:export ProductsExport --model=Product

Создадим контроллер кодандой:

php artisan make:controller Admin/ImportExportController

Скопировать из сделанных код и прописать свои колонки в таблице.

Laravel File Manager

Файловый менеджер.

https://webmai.ru/projects/file-manager
https://github.com/alexusmai/laravel-file-manager

Запустите команду в терминале.

composer require alexusmai/laravel-file-manager

Запустите команду в терминале.

php artisan vendor:publish --tag=fm-config

В config/file-manager.php поменять:

'diskList' => [
'app',
'config',
'public_folder',
'resources',
'routes',
],
'middleware' => ['web', 'auth', 'admin'],

Ниже описаны действия, которые уже должны быть сделаны, если устанавливали по инстукции, тогда это не делать!

Файлы проекта по команде:

php artisan vendor:publish --tag=fm-assets

Подключаем стили Bootstrap 4 и FontAwesome 5.

В head:

<link rel="stylesheet" href="@{{ asset('vendor/file-manager/css/file-manager.css') }}">

В footer:

<script src="@{{ asset('vendor/file-manager/js/file-manager.js') }}"></script>

В вид вставить этот код:

<div style="height: 600px;">
<div id="fm"></div>
<div>

Mobile Detect

Определение мобильного устройства через php

http://mobiledetect.net/

Запустите команду в терминале.

composer require mobiledetect/mobiledetectlib

Использование:

$detect = new \Mobile_Detect();
$isMobile = $detect->isMobile();
$isTablet = $detect->isTablet();

Php curl class

Класс для курл запросов

https://github.com/php-curl-class/php-curl-class

Запустите команду в терминале.

composer require php-curl-class/php-curl-class

Использование:

$curl = new Curl();
$curl->get('https://www.example.com/');

if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
}

$curl->post('https://www.example.com/login/', [
'username' => 'myusername',
'password' => 'mypassword',
]);

$curl = new Curl();
$curl->setBasicAuthentication('username', 'password');
$curl->setUserAgent('MyUserAgent/0.0.1 (+https://www.example.com/bot.html)');
$curl->setReferrer('https://www.example.com/url?url=https%3A%2F%2Fwww.example.com%2F');
$curl->setHeader('X-Requested-With', 'XMLHttpRequest');
$curl->setCookie('key', 'value');
$curl->get('https://www.example.com/');
Loading...