問題タブ [slim-3]
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.
response - Slim 3.3 で文字が欠落している
Windows 7 システムで Slim を実行しようとしています。これまでのところ、Composer ですべてをインストールしましたが、非常に単純なプログラムを実行すると、出力が意図したとおりになりません。
以下は私のコードです:
出力「xxxxx」を期待していますが、代わりに「x」が表示されます。
これは、どこかで 4 文字を失うことを意味します。PHP 5.5.12 の実行 エンコーディングは UTF-8 (BOM ではない)
「curl -v http://localhost:8080/」を実行すると
私は得る
よろしくお願いします。
編集 これらのコード行をファイルの最後に追加すると、応答は正しくなります。
なぜだか分からない……?
php - Slim 3 ミドルウェアのリダイレクト
ユーザーがログインしているかどうかを確認したいので、クラスの魔女がtrueまたはfalseを返します。今、ユーザーがログインしているかどうかを確認するミドルウェアが必要です。
認証クラス
したがって、ユーザーがログインすると、ページは正しくレンダリングされます。しかし、ユーザーが自動化されていない場合、ホームページにリダイレクトしたいと考えています。しかし、どうやって?
これはうまくいきません!
php - Slim 3 フレームワークでよく使用される関数を呼び出すにはどうすればよいですか?
Slim 3 MVC フレームワークで Web サイトを構築しています。コントローラーによく使用される関数を呼び出す必要があります (例: ページ タイトルのエイリアスには、 という関数を使用していますfunction getAlias(){.....}
)。
これらの関数をどこで作成する必要がありますか? 内部コントローラーを呼び出すにはどうすればよいですか?
php - 依存性注入スリム フレームワーク 3
Slim Framework 3 を使用して API を作成しています。アプリの構造は、MVCP (モデル、ビュー、コントローラー、プロバイダー) です。
Slim Dependency Inject ですべてのクラスを使用することは可能ですか?
composer を使用して、すべての依存関係を自動ロードしています。
私のディレクトリ構造は次のようになります。
これが私のcomposer.json
ファイルです。
これが私のindex.php
ファイルです。繰り返しますが、依存関係はコンポーザーによって自動注入されています
私のコントローラは次のようになります
私の PeopleService ファイルは次のようになります。
Models/AddressModels.php
Models/AutoModel.php
Models/PeopleModel.php
エラー 現在、次のエラーが発生しています。
質問 すべてのクラスに依存性を注入するにはどうすればよいですか? Slim の DI Container に自動的に指示する方法はありますか?
php - Slim 3 で 404 ハンドラーを手動で開始するにはどうすればよいですか?
notFoundHandler
Slim 3 でカスタム 404 を追加する方法は既にわかっています。
ルートの 1 つでこれを手動でトリガーしたいと思います。
Slim 2 では、次のようなことができました$app->notFound()
。Slim 3 で同等のものは何ですか?
php - Slim Framework v3、POST 経由で JSON データを取得
Slim Framework v3 を使用していますが、ブラウザー クライアントから REST API に送信する JSON データへのアクセスに問題があります。
現在$request->getParsedBody();
、データへのアクセスに使用していますが、返されるのは文字列だけであり、解析したくありません。この問題にはもっと良い解決策があると思うからです。
クライアントから送信される内容は次のとおりです。
これにより、{"key1":"value1","key2":"value2","key3":"value3"}
サーバー上で何が起こるか?
はvar_dump();
次の出力を生成します。
ご覧のとおり$request->getParsedBody();
、文字列を返しています。これを行うより良い方法はありますか?
私はすでに を使用しようとしまし$request->getBody();
たが、それはタイプ Slim\Http\RequestBody のオブジェクトを返し、変数のみを保護しています。これらの保護された変数にアクセスする関数は見つかりませんでした。
Slim v3 を使用していることを覚えておいてください。v2 から多くのことが変更されています。
より良い方法がない場合、最良の方法で解析する方法を提案していただけますか?