Я пытаюсь обновить свой сайт с Laravel 5.4 до Laravel 7.3. По большей части это работает, но похоже, что мои пользовательские Фасады по какой-то причине не работают ...
При каждом использовании я получаю следующую ошибку ...
![https://puu.sh/Frx1M/983bd578c7.png](https://i.stack.imgur.com/Mo3aY.png)
Вот соответствующие файлы ...
App \ Helpers \ MyLogHelper. php
namespace App\Helpers;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Log;
class MyLogHelper
{
public function __construct()
{
}
public function Log($file_name, $message)
{
$file_name = $file_name . '.log';
$message = date('d-m-Y G:i:s - ') . $message;
if(!Storage::disk('log')->exists($file_name))
{
Storage::disk('log')->put($file_name, $message);
}
else
{
Storage::disk('log')->append($file_name, $message);
}
}
}
Приложение \ Поставщики \ MyLogServiceProvider. php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Helpers\MyLogHelper;
class MyLogServiceProvider extends ServiceProvider
{
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->bind('mylog', function($app){
return new MyLogHelper();
});
}
}
Приложение \ Фасады \ MyLog. php
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class MyLog extends Facade
{
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() { return 'mylog'; }
}
В приложении . php ...
- Поставщики: добавьте следующую запись "App \ Providers \ MyLogServiceProvider :: class,"
- Псевдонимы: Добавьте следующую запись "' MyLog '=> App \ Facades \ MyLog :: class, "
Я запускаю следующие команды:
- php ремесленный маршрут: кэш
- composer dump-autoload