2017-09-10 9 views
0

Laravelを初めて使用しました。この拡張機能を試してみます:https://github.com/kawax/laravel-google-sheet Googleスプレッドシートからデータを読み込みます。Laravel Sheetsの拡張機能が動作しない

ただし、ドキュメントには各手順が記載されていません。

私は、私はこのようapp.phpでプロバイダを入れていたが実現: 'Sheets' => Revolution\Google\Sheets\Sheets::class,、およびドキュメントではありません。このSheets' => Revolution\Google\Sheets\Sheets::class,ように私のapp.phpで別名。うまくいけばそれは正しい... ...?

私はこのエラーを取得するしかし、私はその後、README.md

use Sheets; // I had to precede with "\" 
use Google; // I had to precede with "\" 

Sheets::setService(Google::make('sheets')); 
Sheets::spreadsheet('myspreadsheetid'); 

から最初Laravelの例を試してみました:

Non-static method Revolution\Google\Sheets\Sheets::setService() should not be called statically 

答えて

2

私は図書館に慣れていませんよ。

ただし、静的setService()メソッドを呼び出すSheetsクラスは、実際のシートインスタンスのファサードではないようです。

が代わりに働い

use \Sheets; 
+0

use Revolution\Google\Sheets\Facades\Sheets; 

をお試しください!どうもありがとうございます!その名前空間の使い方をどう知ったのですか? – Samuurai

+0

彼らはLaravel Facadeのパターンに従った。ファサードを使用すると、メソッドを実装する実際のオブジェクトをインスタンス化したり、DICによってインスタンスが注入されたりすることなく、メソッドを静的に呼び出すことができます。ソースコードを調べてファサードがどこに定義されているかを確認します:[ここ](https://github.com/kawax/laravel-google-sheets/tree/master/src/GoogleSheets/Facades)。ファサードの詳細については、[ここ](https://laravel.com/docs/5.5/facades)を参照してください。 – Stefan

+0

ありがとう!ここでの初心者の質問は、クラス全体を読み込む必要がないメモリを節約できるので、それはより良いでしょうか? – Samuurai

関連する問題