在更新为Laravel 7.3后,为什么我的Facades停止工作?

时间:2020-03-31 23:33:58

标签: php laravel laravel-7

我正在尝试将我的网站从使用Laravel 5.4更新到Laravel 7.3。在大多数情况下,它都有效,但是我的自定义Facades出于某种原因似乎不起作用...

任何时候使用我都会遇到以下错误...

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);
    }
  }   
}

App \ Providers \ 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();
     });
  }
}

App \ Facades \ 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'; }
}

在app.php中...

  • 提供者:添加以下条目“ App \ Providers \ MyLogServiceProvider :: class”
  • 别名:添加以下条目“'MyLog'=> App \ Facades \ MyLog :: class”

我运行以下命令:

  • php artisan route:cache
  • composer dump-autoload

1 个答案:

答案 0 :(得分:0)

您的配置可能存在缓存问题,请尝试运行php artisan config:clear