問題タブ [lumen]
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.
php - ルーメン依存性注入
この投稿の最後のコメントとして、次のように述べています。
これはどのサービス プロバイダでも簡単に実行できます (メソッド ベースの DI を使用できるため、ブートは最適な場所です)。
これは、サービス プロバイダーからミドルウェアを注入するための Laravel コードです。
Lumen Frameworkから同じことを達成しようとしています。コードは次のとおりです。
しかし、これにより次のエラーが発生します。
Lumen を使用して依存関係コンテナーを有効にするために、他に行うべきことはありますか?
php - インストール後にルーメンでページが見つからない
インストールしたばかりですLumen
が、パブリックディレクトリに移動するlocalhost/lumen/public
と、
お探しのページが見つかりませんでした。
現れる。
確認app\Http\routes.php
して変更しました
に
そしてそれはうまくいきました。
しかし、これは私が望むものではありません。Laravelでは'/'
完璧に動作します。Lumen を で動作させるにはどうすればよい'/'
ですか?
ところで、私が使用するphp artisan serv
と'/'
動作しますが、職人サーブでのみ:(
pagination - ルーメン - LengthAwarePaginator::resolveCurrentPage() は常に 1 です
ルーメンでは、これが常に1
であるという問題があり/artikel?page=2
ます。
完全なコード:
間違いが見つかりません。その理由は何ですか?(私も更新しました"laravel/lumen-framework": "5.1.*"
)
php - phpunit テスト内での Lumen IoC バインディング解決のむら
Lumen v5.0.10 で問題が発生しました。主に TDD とバンドルされたphpunit
拡張機能を使用してアプリケーションを設計しています。私は基本的にBindingResolutionException
「App\Contracts\SubscriberInteractionInterface」を取得しています。これは、次のように登録されているApp\Servicesに実装されているディレクトリApp\Contractsのインターフェイスです。AppServiceProvider
私の欲求不満は、関数の最後の行のコメントを外すと、App\Contracts\SubscriberInteractionInterface
バインドされていることを示していることです (したがって、解決される可能性があります)。
次に、効果的にこのように見えるコントローラーがあります
このように使用するのは、関連するものだけをインスタンス化する必要があり (型ヒントを付けた場合のように両方ではなく)、それぞれのコンストラクターに型ヒント付きの依存関係があるためです。
問題は、必要なテストのルートは正常にOwnerInteractionInterface
実行されますが、必要なテストのルートは実行さSubscriberInteractionInterface
れないことです。実装とインターフェイスは大部分が似ており、前に示したように、両方が同時に登録され、SubscriberInteractionInterface
バインドされていることを確認できます。実際、次の行を入れると:
一番上にtrueindex()
を返します。テストはたまたま、を使用するパスが最初に実行され、それが正常に解決され、次に他のテストが. ただし、他のテストを省略してそのテストだけを実行すると、すべてがスムーズに進みます。テストは異なるファイルにあり、私が行う唯一のセットアップは、示されているものとはまったく異なるバインディングの代わりにサードパーティ API のモックをバインドすることであり、そのコードはこれらのクラスに触れていません。これは関数内で行われ、その中で呼び出すようにしています。OwnerInteractionInterface
BindingResolutionException
setUp()
parent::setUp()
何が起きてる?1 つの具象インスタンスをバインドすると、非具象バインディングが から消去されるのIoC
でしょうか? それとも、デフォルトの設定では、あるテストから別のテストに何らかの影響が移ることが許されているのでしょうか?
回避策があることはわかっていますが、完全なテストスイートを実行しないという制約は面倒です。インターフェイスからインスタンスを解決するのではなく、インスタンスを直接使用するだけで、テストが簡単になるように見え始めています。
IoC
また、解決可能なバインディングを検査する方法を知っている人はいますか?
laravel-validation - ルーメン - 検証方法が Web サイトのルートにリダイレクトされます
私の問題は、フォームの検証が失敗することですが、メソッドは$this->validate($request, $rules, $messages)
リダイレクトされ-> back()
ず、代わりにルートページにリダイレクトされます/
。
検証が失敗したときにリダイレクトを変更する可能性はありますか?
php - Lumen の .env ファイルで定義された APP_LOCALE の実行時の値の設定
最近、Lumen マイクロ フレームワークの学習を開始しました。.env ファイルで定義されている APP_LOCALE キーの値を実行時に変更する必要があります。私の目標は、実行時に言語を切り替えて、言語ファイルで定義された特定の文字列のさまざまな翻訳を出力することです。
ルーメンのドキュメントには、次のように書かれています。
実行時に構成値を設定するには、構成ヘルパーに配列を渡します
そこで、テストコントローラーで次のことを試しました。
私の.envファイルでは、「デフォルト」のAPP_LOCALEが「fr」に設定されており、このコントローラーを呼び出した結果、フランス語で1回、英語で1回という予想ではなく、フランス語で2回文字列が出力されます。
実行時に値を変更するにはどうすればよいですか?
laravel - Lumen のデータベース接続に追加のパラメータを渡すにはどうすればよいですか?
Lumen アプリを Amazon RDS PostgreSQL インスタンスに接続しようとしています。そのためには、「sslmode」パラメーターと「sslrootcert」パラメーターをデータベース接続に渡す必要があります。
Laravel では、config/database.php 内の追加の「オプション」配列を介してそれらを提供できました。Lumen には config/database.php ファイルがないため、どのように渡すことができますか?