ServiceProviderバインドクラスが見つかりません -- php フィールド と laravel フィールド と laravel-5.4 フィールド 関連 問題

ServiceProvider binded class not found












0
vote

問題

日本語

ケース(L5.4) 現在、パッケージ開発 Laravel Offers Offers

モデルをバインドする ServiceProvider を手に入れました( Niki::class

<事前> <コード> class NikiServiceProvider extends ServiceProvider { /** * Bootstrap the application services. * * @return void */ public function boot() { $this->publishes([ __DIR__ . '/config/niki.php' => config_path('niki.php'), ]); } /** * Register the application services. * * @return void */ public function register() { $this->app->bind('niki', function () { return new Niki; }); } }

Facade

の名前を登録する <事前> <コード> class Facade extends IlluminateSupportFacadesFacade { /** * Get the registered name of the component. * * @return string */ public static function getFacadeAccessor() { return 'niki'; } }

と<コード> model

<事前> <コード> class Niki extends Model { /** * Config * * @var array */ public function __construct() { $this->config = config('niki')['api_key']; } public static function getHouses() { $response = $this->config; return $response; } } 上記のファイルは、 packages/prsc/niki/src にあり、PSR-4オートロードを使用してロードされています。 <事前> <コード> "psr-4": { "App\": "app/", "PRSC\Niki\": "packages/prsc/niki/src/" },

error だから私の問題は、ファイルが見つからないため、ServiceProviderのバインドはFATALERRORを返します。

NikiserviceProvider.php 37:クラス 'PRSC Niki'が見つかりません

英語

Case (L5.4)
Currently trying to write an api wrapper using the package development Laravel offers.

I got a ServiceProvider which binds the model (Niki::class)

class NikiServiceProvider extends ServiceProvider {     /**      * Bootstrap the application services.      *      * @return void      */     public function boot()     {         $this->publishes([             __DIR__ . '/config/niki.php' => config_path('niki.php'),         ]);     }      /**      * Register the application services.      *      * @return void      */     public function register()     {         $this->app->bind('niki', function () {             return new Niki;         });     } } 

A Facade which registers the name of the component

class Facade extends IlluminateSupportFacadesFacade {     /**      * Get the registered name of the component.      *      * @return string      */     public static function getFacadeAccessor()     {         return 'niki';     } } 

And a model

class Niki extends Model {     /**      *  Config      *      * @var array      */      public function __construct()     {         $this->config = config('niki')['api_key'];     }      public static function getHouses()     {                 $response = $this->config;          return $response;     } } 

Above files are located in packages/prsc/niki/src and are being loaded using the psr-4 autoloading:

"psr-4": {     "App\": "app/",     "PRSC\Niki\": "packages/prsc/niki/src/" }, 

Error
So now my problem, the bind in the ServiceProvider returns a FatalError because of the file not being found.

FatalThrowableError in NikiServiceProvider.php line 37: Class 'PRSCNiki' not found

</div
        
 
 

回答リスト

1
 
vote
vote
ベストアンサー
 

私はそれが名前空間の問題だけだと思います。私はあなたの名前空間についてのすべての手がかりを持っているわけではありませんが、ここにはうまくいくべきなことがあります(誤解しなかった場合):

交換:

<事前> <コード> return new Niki;

<事前> <コード> return new PRSCNikiNiki;

機能しない場合は、貼り付けた各コードスニペットにネームスペースを追加してください。

 

I think it's just a namespace problem. I'm not sure I have all the clue about your namespaces, but here is something that should work (if I did not misunderstood):

Replace:

return new Niki; 

By:

return new PRSCNikiNiki;  

If it does not work, please add your namespaces in each code snippet you pasted.

</div
 
 

関連する質問

1  Laravelで特定の列を選択したい場合に追加フィールドを返す方法  ( How to return appended field when want to select specific column in laravel ) 
私はこのような<コード> full_name フィールドを<コード> $ git remote add origin https://drive.google.com/<my_folder>/<my_repository>.git $ git push git...

0  Laravel 5.4のルートパラメータに基づくコンテンツ(HTML)を表示する方法  ( How to display content html based on route paramater in laravel 5 4 ) 
Laravelに新しい、私は電子商取引アプリケーションで働いています。このアプリでは、すべての製品をさまざまなページ(1,2,3、...など)を表示する必要があります。ルートは/ products / 1、/ products / 2などです。私は現在、1ペ...

0  雄弁な関係(Laravel 5.4)  ( Eloquent relationships laravel 5 4 ) 
Laravel 5.4 アプリケーションを作っていますが、私は eluquentの関係を使って私のデータを構造化する必要があるかどうかを思い出しています これは私のモデルであり、それらが関連する方法: 学校→クラス、ユーザー、イベントを持っています ...

0  ServiceProviderバインドクラスが見つかりません  ( Serviceprovider binded class not found ) 
ケース(L5.4) 現在、パッケージ開発 Laravel Offers Offers モデルをバインドする ServiceProvider を手に入れました( Niki::class ) <事前> <コード> class NikiServiceProvi...

2  logy = xまたはrole = yのログイン試行を許可する  ( Allow login attempt where role x or role y ) 
アレイを渡すことによって、<コード> where クエリを試みメソッドに追加することが可能です。しかし、特定の役割を持つすべてのユーザーがログインすることが許可されているログインフォームはどうですか? すべての値を試してみると、多くのクエリが発生しますので、ユ...

2  Laravel - 関係が見つからない場合は空の配列とNULLを置き換えます  ( Laravel replace null with empty array when no relation is found ) 
関係が見つからない場合は空の配列でnullを置き換えることが可能ですか? e.g。顧客に連絡先と契約がありますが、契約の1人にはWebがありません。 <事前> <コード> $customers = Customer::with('contacts', 'co...

6  Laravel PHPでコンソールカーネルの使用方法  ( How to use console kernel in laravel php ) 
ドキュメントの Architecture Concepts 。 コンソールカーネルの申請と使用法を理解することができません。(HTTPカーネルではありません) ただし、私はグーグルしてこれらのリンクを見つけました https://laravel.com...

0  不正なユーザーVuejsトークン  ( Unauthorized user vuejs token ) 
私は私のフロントエンドとしてvuejsを使ってバックエンドとしてLaravel 5.4を使っています。私はバックエンドのためにフロントエンドとララベーションパスポートでカスタム認証を使用しています。私は非常に異常な動作に直面しています。トークンを介してユーザー...

0  ブレードで使用するための取得レコードのデフォルト値を設定します  ( Set fetched record default value for using in blade ) 
このメソッドを使用して、データベースからすべてのユーザーフィールドを取得しようとしています。 <事前> <コード> $user = Users::all(); 私のデータベースにいくつかのフィールドがあります。 nullable は、ブレードで使用するとき...

1  Laravelでは、要求が処理されているかどうかをどのように判断できますか?  ( In laravel how can it be determined whether a request is being processed ) 
WebサーバーまたはTinker / Worker / Alishから呼び出すことができるコードをいくつか持っています。コードは、Webサーバーから呼び出されているかどうかを判断する必要があります。 私は最初は要求がないときにrequest()がnullにな...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有