問題タブ [laravel-facade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2685 参照

laravel - ブラウザに送信する直前にLaravel htmlレスポンスを操作する

ブラウザに送信する前に最終出力を操作する適切な方法は何ですか? (laravel5.*)

ファサードを作成しました

そして、私が使用するコントローラーアクションで

しかし、私は破損した出力を受け取ります(http応答ヘッダーがhtmlに追加/追加されます)

おそらく \Response 関連の __toString メソッドの動作がおかしい

何か案は?(ありがとう!)

0 投票する
1 に答える
4277 参照

php - Laravel - ファサードとヘルパー メソッドのパフォーマンス

laravel 5.1でFacadesとヘルパーメソッドを使用することでパフォーマンスに違いがあるのだろうか。

たとえばuse View;、またはView::make()可能な限り削除を開始します。そのview()方が簡単で、おそらく高速になると考えています。しかし、私は知りません。

Redirect::to()--> redirect()Redirect::back()-->などと同じback()..

違いはありますか、それとも問題ではありませんか?

0 投票する
1 に答える
3679 参照

php - カスタムファサードを使用しようとすると、Laravel の Application::create() で「未定義のメソッドへの呼び出し」が発生しますか?

検索機能用に独自のカスタム ファサードを作成しようとしていますが、少し問題があります。

このエラーは、私のコードがヒットしたことが原因です:

私のSearchファサードが次のように設定されている場所:

SearchServiceProvider

検索ファサード

クラスを検索

私はcomposer dump-autoload成功せずに実行しました。私のファサードとサービスプロバイダーは次のように読み込まapp.phpれます:

エイリアス配列

プロバイダー配列

過去 30 分間、デバッグとこのエラーの検索に費やしましたが、修正はありませんでした。何が起きてる?

編集: スタック トレースに追加しました。以下で確認できます。さらに、それがgetFacadeAccessor()正しく呼び出されていることがわかりますが、それ以上のものは私の理解の範囲外です。

ここに画像の説明を入力

強調表示されたフレームは、通常の操作の最後の発生を表し、両方のフレームHandler.phpは、質問の上部にあるエラーの書式設定と出力を表します。

0 投票する
0 に答える
56 参照

laravel - ファサードの名前変更 - 競合

vinkla/pusherLaravel 5.1 でパッケージを使用しようとしています。

競合が原因でファサードが機能しないことは、よく知られている問題です: https://github.com/vinkla/pusher/issues/2

解決策は、ファサードの名前を変更することです。どうすればこれを行うことができますか?ファイルの名前を変更するほど簡単ではないことはわかっています..

ありがとう!

0 投票する
0 に答える
391 参照

php - Laravel 5.1: 名前空間とファサードが PHPUnit 内で機能する方法に混乱している TestCase を拡張するテスト クラス

他のテストクラスを拡張してPHPUnitで実行できるベーステストクラスを作成しています。このベース テスト クラスは、Laravel が提供するクラスを拡張しTestCaseます。また、PHP Faker ライブラリを使用してフェイカー ジェネレーターを作成しています。同様に、Laravel の Artisan ファサードを呼び出して、setUpメソッドでデータベースの移行を実行しています。. 最初は次のように見えました。

初めて PHPUnit を実行したとき、成功しましたが、次の警告も表示されました。

PHP Warning: The use statement with non-compound name 'Artisan' has no effect in /Users/myusername/Sites/app/tests/BaseTester.php on line 3

わかりましたので、なぜそれが私にそれを与えるのだろうと思いました。だから私は削除しようとしました:

use Artisan;

クラスから、BaseTester.phpそれは機能し、すべてのテストに合格し、出力にも警告はありませんでした。

さて、なぜそのuse声明を削除しなければならなかったのか疑問に思いました。次に、自分のconfig/app.phpファイルに、Artisanファサードに使用できるエイリアスがあることを思い出しました。

そのため、自動的にロードする必要があります。config/app.phpつまり、ファイル内に Faker ファサードのエイリアスもある場合

次に、それもロードする必要があるため、以下を含める必要はありません。

use Faker\Factory as Faker;

私のBaseTester.phpファイルで、そのFaker::create中のメソッドを呼び出すことができます。

そのため、そのステートメントも削除してusePHPUnit を実行しましたが、次のエラーが発生しました。

PHP Fatal error: Class 'Faker' not found in /Users/myusername/Sites/app/tests/BaseTester.php on line 12

エイリアスセクションの下のファイルに含まれている呼び出しは機能しますが、同じエイリアスセクションの下の同じファイルにも含まれている呼び出しは機能しないArtisanため、今は本当に混乱しています。config/app.phpFaker

最終的に、私のコードは次のようになります。

警告なしで動作しますが、エイリアス、名前空間、およびファサードに関して何が起こっているのか理解できません。これを理解するまで、Laravel がどのように機能するのかを本当に理解できないと感じています。

useエラーが発生しなくなるまで、他のコード ファイル内で Laravel ファサードとステートメントの適切な組み合わせを見つけようとするだけです。

0 投票する
1 に答える
1704 参照

php - PHPStorm は、__CallStatic ファサードによって処理されるインスタンス メソッドの静的呼び出しについて不平を言います

単体テスト用にインスタンス メソッドに変更する必要がある静的メソッドを持つクラスがあります。ただし、それらを静的に呼び出すコードを変更することはできません。そのため、関数を静的および動的に呼び出すことができるように、ファサードを実装しようとしています (Laravel と同様)。私のコード自体は機能していますが、PHPStorm は静的呼び出しについて不平を言っています。これは、テスト子クラスと phpunit テストを含む私のファサード クラスです。

Foo で phpdoc @method を使用し、TestMethod1 メソッドで @static を使用しようとしましたが、どちらも機能しないようです。PHPStorm が静的呼び出しについて文句を言わないようにするにはどうすればよいですか? インスペクションをオフにする以外にこれを処理する方法はありますか?

0 投票する
3 に答える
3255 参照

laravel-5 - Laravel Facade とサービスプロバイダー

Laravel のファサードとサービス プロバイダーを使用するのはこれが初めてです (私は Laravel 5 を使用しています)。

私はこれを持っていますServiceProvider

私のアクセス許可クラスは次のようになります。

aliasesこれをinに追加しましたapp.php

providersこれをapp.phpに追加しました:

Facadeこのクラスを作成しました:

私の理解では、クラスを指すバインディングを参照する Facade クラスを指すエイリアスを登録します。

app.php に登録した ServiceProvider にバインディングを登録しました。

現在、ルートファイルで、次のコードでテストしています:

しかし、私はこのエラーが発生しています: