为啥我的 Facades 在更新到 Laravel 7.3 后停止工作?

Posted

技术标签:

【中文标题】为啥我的 Facades 在更新到 Laravel 7.3 后停止工作?【英文标题】:Why did my Facades stop working after updating to Laravel 7.3?为什么我的 Facades 在更新到 Laravel 7.3 后停止工作? 【发布时间】:2020-07-12 15:34:33 【问题描述】:

我正在尝试将我的网站从使用 Laravel 5.4 更新到 Laravel 7.3。在大多数情况下它可以工作,但看起来我的自定义外观由于某种原因无法正常工作......

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

这里是相关文件...

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...

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

我运行以下命令:

php 工匠路线:缓存 作曲家转储自动加载

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于为啥我的 Facades 在更新到 Laravel 7.3 后停止工作?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel Facades 中传递依赖项?

如何使用 Laravel Facades

laravel的Facades外观模式背后实现原理

laravel的Facades外观模式背后实现原理

未找到 Laravel 5 类“Illuminate\Support\Facades\FormFacade”

Laravel 核心--Facades 门面