Почему мои Фасады перестали работать после обновления до Laravel 7.3? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь обновить свой сайт с Laravel 5.4 до Laravel 7.3. По большей части это работает, но похоже, что мои пользовательские Фасады по какой-то причине не работают ...

При каждом использовании я получаю следующую ошибку ...

https://puu.sh/Frx1M/983bd578c7.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

1 Ответ

0 голосов
/ 01 апреля 2020

Может быть проблема с кэшированием в вашей конфигурации, попробуйте запустить php artisan config:clear.

...