問題タブ [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.
laravel - ブラウザに送信する直前にLaravel htmlレスポンスを操作する
ブラウザに送信する前に最終出力を操作する適切な方法は何ですか? (laravel5.*)
ファサードを作成しました
そして、私が使用するコントローラーアクションで
しかし、私は破損した出力を受け取ります(http応答ヘッダーがhtmlに追加/追加されます)
おそらく \Response 関連の __toString メソッドの動作がおかしい
何か案は?(ありがとう!)
php - Laravel - ファサードとヘルパー メソッドのパフォーマンス
laravel 5.1でFacadesとヘルパーメソッドを使用することでパフォーマンスに違いがあるのだろうか。
たとえばuse View;
、またはView::make()
可能な限り削除を開始します。そのview()
方が簡単で、おそらく高速になると考えています。しかし、私は知りません。
Redirect::to()
--> redirect()
、Redirect::back()
-->などと同じback()
..
違いはありますか、それとも問題ではありませんか?
php - カスタムファサードを使用しようとすると、Laravel の Application::create() で「未定義のメソッドへの呼び出し」が発生しますか?
検索機能用に独自のカスタム ファサードを作成しようとしていますが、少し問題があります。
このエラーは、私のコードがヒットしたことが原因です:
私のSearch
ファサードが次のように設定されている場所:
SearchServiceProvider
検索ファサード
クラスを検索
私はcomposer dump-autoload
成功せずに実行しました。私のファサードとサービスプロバイダーは次のように読み込まapp.php
れます:
エイリアス配列
プロバイダー配列
過去 30 分間、デバッグとこのエラーの検索に費やしましたが、修正はありませんでした。何が起きてる?
編集: スタック トレースに追加しました。以下で確認できます。さらに、それがgetFacadeAccessor()
正しく呼び出されていることがわかりますが、それ以上のものは私の理解の範囲外です。
強調表示されたフレームは、通常の操作の最後の発生を表し、両方のフレームHandler.php
は、質問の上部にあるエラーの書式設定と出力を表します。
laravel - ファサードの名前変更 - 競合
vinkla/pusher
Laravel 5.1 でパッケージを使用しようとしています。
競合が原因でファサードが機能しないことは、よく知られている問題です: https://github.com/vinkla/pusher/issues/2
解決策は、ファサードの名前を変更することです。どうすればこれを行うことができますか?ファイルの名前を変更するほど簡単ではないことはわかっています..
ありがとう!
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
中のメソッドを呼び出すことができます。
そのため、そのステートメントも削除してuse
PHPUnit を実行しましたが、次のエラーが発生しました。
PHP Fatal error: Class 'Faker' not found in /Users/myusername/Sites/app/tests/BaseTester.php on line 12
エイリアスセクションの下のファイルに含まれている呼び出しは機能しますが、同じエイリアスセクションの下の同じファイルにも含まれている呼び出しは機能しないArtisan
ため、今は本当に混乱しています。config/app.php
Faker
最終的に、私のコードは次のようになります。
警告なしで動作しますが、エイリアス、名前空間、およびファサードに関して何が起こっているのか理解できません。これを理解するまで、Laravel がどのように機能するのかを本当に理解できないと感じています。
use
エラーが発生しなくなるまで、他のコード ファイル内で Laravel ファサードとステートメントの適切な組み合わせを見つけようとするだけです。
php - PHPStorm は、__CallStatic ファサードによって処理されるインスタンス メソッドの静的呼び出しについて不平を言います
単体テスト用にインスタンス メソッドに変更する必要がある静的メソッドを持つクラスがあります。ただし、それらを静的に呼び出すコードを変更することはできません。そのため、関数を静的および動的に呼び出すことができるように、ファサードを実装しようとしています (Laravel と同様)。私のコード自体は機能していますが、PHPStorm は静的呼び出しについて不平を言っています。これは、テスト子クラスと phpunit テストを含む私のファサード クラスです。
Foo で phpdoc @method を使用し、TestMethod1 メソッドで @static を使用しようとしましたが、どちらも機能しないようです。PHPStorm が静的呼び出しについて文句を言わないようにするにはどうすればよいですか? インスペクションをオフにする以外にこれを処理する方法はありますか?
laravel-5 - Laravel Facade とサービスプロバイダー
Laravel のファサードとサービス プロバイダーを使用するのはこれが初めてです (私は Laravel 5 を使用しています)。
私はこれを持っていますServiceProvider
:
私のアクセス許可クラスは次のようになります。
aliases
これをinに追加しましたapp.php
:
providers
これをapp.phpに追加しました:
Facade
このクラスを作成しました:
私の理解では、クラスを指すバインディングを参照する Facade クラスを指すエイリアスを登録します。
app.php に登録した ServiceProvider にバインディングを登録しました。
現在、ルートファイルで、次のコードでテストしています:
しかし、私はこのエラーが発生しています: