問題タブ [silex]
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 - PHP を Silex や Symfony2 と区別するにはどうすればよいですか?
ですから、まず第一に、私はプログラミング全般についてはまったくの初心者です (私は CS 学生のインターン生です)。
config.php
私の仕事は、ファイルから Symfony2 と Silex を取り除くことです。どうやらこれら 2 つのフレームワークは、私たちの Web サイトが機能するために必要ではないようです (以前は必要でしたが、現在、サーバー上でのサイトの配置方法に関していくつかの変更を行っています)。
最大の問題は、私が PHP を学び始めたばかりだったことです。私の過去の仕事のほとんどは Java でした。正直なところ、フレームワークを使用したことがないので、Symfony2 と Silex が何を担当しているのか正確にはわかりません。
私が取ることができる近道 (探すべきもの) または私を助けるためのリソースはありますか?
Silex/Symfony に関連するものはすべて削除する必要があります。フレームワークについてすべて学ぶのは時間がかかりすぎると思います。皆さんはどう思いますか?
json - SilexとphpunitのJSON応答
phpunitを使用してSilexのテストを作成しようとしています。
クローラーオブジェクトを生成するクラスSymfony\Component \ BrowserKit\Clientがあります。
このオブジェクトは、クライアントの結果がxhtmlであることを想定していますが、テストしようとしているAPIはJSONを返し、クローラーはこれを許可しません。
JSONで動作するSilexまたはphpunitの組み込みクラスはありますか、それとも自分でロールする必要がありますか?
乾杯
symfony - トランスフォーマーが動かない (モデルデータからフォームデータへ)
私は silex アプリケーションを構築しています (ソースはこちら)
にApp\Form\DataTransformer
は、MetadataTransformer クラスがあります。
しかし、このtransform
方法は機能しません (逆変換は機能します)。のコレクションの一部である に
適用されます。
最後のフォームは私の編集メソッドで呼び出されますApp\Form\Metadata AbstractType
App\Form\ArticleForm AbstractType
App\Controller\Admin\ArticleAdminController
データトランスフォーマーは、このようなデータをマッピングすることになっています
次のような「フォームデータ」に:
そのため、コレクションとして表示できます。
メタデータ.php
ArticleForm.php
私のデータトランスフォーマーは次のようになります:
MetadataTransformer.php
reverseTransform は機能しますが、transfom 自体は機能しないようです。
ここでの目標は、動的コレクションをフォームに表示できるようにすることです (記事のフォーム ページでメタデータを動的に追加および削除します)。
実行時に変換の結果をログに記録すると、結果は期待どおりになりますが、フォームはそれを使用しません。
私はすでに addViewTransformer / addModelTransformer 2.1 api を試しましたが、違いはありませんでした。
では、私のモデル data -> to -> form data transform の何が問題なのですか?
phpunit - Silex phpunit がルートと一致しない
Silex アプリのいくつかのテストを作成しようとしていますが、問題が発生しました。
次のphpunit.xmlファイルがあります
ブートストラップコードは
私の最初のテストファイルは次のとおりです
そして、私の2番目は
問題は、テストを個別に実行すると、両方とも合格することです。
それらをテストスイートの一部として実行すると、例外がスローされます
テストを作成しようとしている方法に明らかな問題はありますか?
乾杯
php - 本番サーバーでのみクラスが見つからないというエラー
Silexを使用したプロジェクトに取り組んでいます。use
特定のファイルに、オートローダーに特定のphpファイルを含めるようにステートメントを追加しました。ファイルの後半で、そのクラスを使用します。開発サーバーではすべて問題ありませんが、本番環境に移行するとFatal error: Class not found
メッセージが表示されます。編集:両方のサーバーがPHP5.4.4を使用するようになりました。
これを引き起こしている可能性のあるインストール固有の問題はありますか?composerによって生成された両方の名前空間自動ロードファイルが同じであることを確認できます。
完全を期すために、ここにincludeステートメントがあります。
コードの後半でのクラスの使用法は次のとおりです。
正確なエラーは次のとおりです。
更新:私が取り組んでいるかなり大きなコードベースの他の場所ではそのようなエラーは発生していないことを追加する必要があります。したがって、すべての名前空間が機能しないほど単純ではないことを知っています。
php - Twigビューで「ドット」名前空間サービスにアクセスする
Twigテンプレートのドット表記を使用して登録済みサービスにアクセスできることを知っています(例app.request.host
)。ただし、独自の名前空間サービス(この場合tagframe.photoservice
)を作成した場合、それにアクセスしようとすると、メソッド「tagframe」がオブジェクト「Silex\Application」に存在しないというエラーが表示されます。ドット名前空間が設定されているサービスにアクセスすることは可能ですか?つまり、コントローラーで$ app ['tagframe.photoservice']を使用して通常アクセスするサービスですか?
symfony - Silexアプリケーションを単体テストしようとしていますが、Silex\WebTestCase名前空間が見つかりません
Silexと同様にphpunit3.6.12をインストールしています。私のアプリのルートディレクトリには、簡単なテストファイルBlogFunctionTest.phpを含むテストディレクトリがあります。
コマンドラインからphpunitを実行すると、エラーが発生します
これは、WebTestCaseを拡張しようとしている行を指します。交換しても同じことが起こります
と
Silexは、私のテストファイルに関連してインストールされています。
ヒントは大歓迎です、ありがとう!
php - Silexでフォームデータからhtmlをフィルタリングする方法
私は Silex と Symfony を初めて使用し、symfony Form コンポーネントを使用してフォームを作成しようとしています。それは正常に機能していますが、検証/サニタイズに関してはどうすればよいかわかりません。
もちろん $app->escape($data) メソッドは知っていますが、私のニーズに合わないようです。
$form->isValid() メソッドを呼び出す前に、送信されたデータから html タグをエスケープしたいと思います。HTMLタグでテキストを無効にしたくありません。テキストからそれらをエスケープ/削除してから、取得した値を検証します。
したがって、基本的には、元の値または使用する代わりに、エスケープされた値をフォームに与えたいと考えています。
私の問題は、html タグを削除した後に送信されたテキストが空の場合にのみエラー メッセージを表示したいということです。
パッケージでhtml検証について何も見つからなかったので、カスタム制約を書くことを考えましたが、その場合、最初に検証で、次にデータを保存する前に、2回フィルター/エスケープする必要がありました。
私はこのようなことを達成したいと思います:
ありがとう。
php - Symfony バリデーターを使用した一致と一意の検証
小さなプロジェクトで Silex を使用していますが、一致する 2 つのパスワード フィールドを検証する方法がわかりません。また、データベース接続を使用して電子メールの一意性を確認する方法もわかりません。SF2のドキュメントでそれを理解できませんでした。
誰かが私にヒントやサンプルを教えてくれますか?
前もって感謝します
symfony - Symfony の flashBag セッションを使用した単体テスト
単体テストを使用して Silex でアプリケーションを作成しています。
単体テストの実行は、通常のセッション ハンドラーに対して正常に機能します。
ユニットテストでこのフラグを設定します:
その session.test フラグを設定しないと、単体テストでヘッダーが既に送信されているというエラーがスローされ、すべて失敗します。それをオンにすると、私のテストはうまくいきます。
問題は、flashBag 機能 (最初のリクエストが削除されるまでしか続かないセッション情報) を使用しようとしていることです。
flashBag は session.test フラグを尊重していないようで、ヘッダーを送信しようとするため、すべての単体テストが失敗します。
24) Yumilicious\UnitTests\Validator\PersonAccountTest::setConstraintsPassesWithMinimumAttributes RuntimeException: ヘッダーが既に送信されているため、セッションを開始できませんでした。
/webroot/yumilicious/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php:142 /webroot/yumilicious/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage /NativeSessionStorage.php:262 /webroot/yumilicious/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Session.php:240 /webroot/yumilicious/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation /Session/Session.php:250 /webroot/yumilicious/src/app.php:38 /webroot/yumilicious/tests/Yumilicious/UnitTests/Base.php:13 /webroot/yumilicious/vendor/silex/silex/src/Silex /WebTestCase.php:34 /webroot/yumilicious/vendor/EHER/PHPUnit/src/phpunit/phpunit.php:46 /webroot/yumilicious/vendor/EHER/PHPUnit/bin/phpunit:5
このコードに絞り込みました: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php#L259
具体的には、262 行目です。その 1 行をコメント アウトすると、テストが適切に機能し、すべてが緑色に合格します。
これを機能させるためにかなり検索しましたが、運がありません。flashBag が新しくなり (https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/Session/Session.php#L305)、古いメソッドが廃止されたためだと思います。
単体テストを機能させるための提案は素晴らしいでしょう。