75844


Laravel 8.12  
PHP 7.4  
nginx + php-fpm + MySQL(docker)

サービスプロバイダーを作成したときは動いたのですが、ある時から急にエラーが発生するようになりました。原因、または、調査方法を教えていただきたいです。

> Call to undefined method App\Facades\DynamodbService::getItem()

Providers/DynamodbServiceProvider.php

[code]

    namespace App\Providers;
    
    use Illuminate\Support\ServiceProvider;
    use App\Services\DynamodbService;
    use Illuminate\Contracts\Support\DeferrableProvider;
    
    class DynamodbServiceProvider extends ServiceProvider implements DeferrableProvider
    {
        public $bindings = [
            'DynamodbService' => DynamodbService::class,
        ]
        public function register() {}
        public function boot() {}
        public function provides()
        {
            return [DynamodbService::class];
        }
    }
    
[/code]

Services/DynamodbService.php

[code]

    namespace App\Services;
    
    use Illuminate\Support\Facades\Log;
    use Aws\Sdk;
    use Aws\DynamoDb\Marshaler;
    use Aws\DynamoDb\Exception\DynamoDbException;
    use Exception;
    
    /**
     * Dynamodb Service
     */
    class DynamodbService
    {
        public function getItem($table_name, $key) {
        // 省略
        }
    }
    
[/code]

Facades/DynamodbService.php

[code]

    namespace App\Facades;
    
    use Illuminate\Support\Facades\Facade;
    
    class DynamodbService extends Facade
    {
        protected static function getFacadeAccessor() {
            return 'DynamodbService';
        }
    }
    
[/code]

config/app.php

[code]

    'providers' => [
    
        App\Providers\DynamodbServiceProvider::class,
    
    ],
    
    'aliases' => [
    
        'DynamodbService' => App\Facades\DynamodbService::class,
    ],
    
[/code]


CC BY-SA 4.0
2021-05-13T22:52:14.947
75825
2021-05-14T22:35:25.517
2021-05-14T11:43:24.170
45281
45281
question
php laravel
Laravel8でサービスプロバイダーに登録したクラスのメソッドを呼び出すと「Call to undefined method」が発生する


自己解決しました。laravelを再インストール（vendor以下削除）したら直りました。


CC BY-SA 4.0
2021-05-14T22:35:25.517
75844
2021-05-14T22:35:25.517
45281
75825
answer