問題タブ [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.
symfony1 - 言語切り替えのための Silex での機能テスト
問題は、テストでは言語が切り替わらず、ウェブサイトではうまくいくことです。したがって、テストは失敗します。
私はこのルーティングを持っています:
テストは次のとおりです。
ここでは、フランス語への切り替えが機能せず、$crawler->text()は引き続きドイツ語のテキストを表示します。
言語ごとに 1 つのテストを作成する必要がありますか? 私の意見では、それは本当に言語切り替えをテストしません。
そのようなシナリオをテストする一般的な方法は何ですか?
php - Silexのオートローダーのこの使用の何が問題になっていますか?
私のアプリケーションファイル:
マイバークラス:
でを実行する$bar = new Bar()
とapp.php
、エラーが発生します。Fatal error: Class 'Moken\Classname' not found in (...)/src/app.php on line 11
誰かが私が間違っていることを教えてもらえますか?
twig - SilexのTwig拡張
Twig 拡張機能を Silex にロードしようとしましたが、次のようになりました。
「Twig_Extensions_Extension_Text」が見つかりません
最初に Twig-Extensions をオートローダーに登録します。
次に、Twig を登録します。
拡張機能を追加します。
パスは正しいようで、Twig 自体は正常に動作します。
何か案が?
php - silexでダッシュとアンダースコアを使用してルートを作成する方法
php-silexにプロジェクトがありますが、このフレームワークを使用しています。ルートを作成しましたが、機能しないルートもあります。ここにいくつかの例があります:
/ letter-aと入力すると、出力は「幅ダッシュ」になりますが、「/ letter_a」と入力すると、出力は「その他のビュー」であり、「幅の下線」ではありません。
これが発生した理由と、「幅のアンダースコア」を表示する方法を知りたいですか?
php - Silex500エラーオフザバット
これは非常に初心者の質問です。基本的には、Silexの「HelloWorld」を実行しようとしています。ディレクトリにsilex.pharファイルをインストールし、.htaccessファイルを次のように設定します。
次に、index.phpファイルで次の2行のコードを実行します。
500の内部サーバーエラーが発生します。("ファイルが存在しません")
Linuxでphp5.3.8を実行しています。
探しているPHP設定はありますか?
symfony1 - Symfony Yaml を Silex に追加する
symfony の yaml コンポーネントを Silex に追加しようとしていますが、5.3 バージョンの追加に問題があります。名前空間なしのバージョンを追加してもうまくいきますが、https://github.com/symfony/Yamlから名前空間付きのバージョンを使用したいと思います。これは私のサービス プロバイダーです。
しかし、私がこれを行うときのコードは次のとおりです。
次のエラーが表示されます。
致命的なエラー: 20 行目の /mnt/hgfs/silex/web/index.php にクラス 'Symfony\Component\Yaml\Yaml' が見つかりません
完全な正解: gregoire は、Symfony\Comonent\Yaml ではなく、Symfony 名前空間の登録についてコメントしたので、基本的に名前空間のディレクトリ構造を再作成し、ルートを Symfony 名前空間に登録しました。
doctrine - Silex Doctrine 拡張機能
Silex の使用法ドキュメントでDoctrine Extension を利用するには、
「Doctrine DBAL のコピーを vendor/doctrine-dbal に、Doctrine Common を vendor/doctrine-common に配置してください。」
次に、登録方法の例に進みます。
私が得られないのは2つのことです...
1) パス __DIR_.'vendor/doctrine-dbal/lib'
lib とはどういう意味ですか?? doctrine パッケージに lib フォルダーまたはファイルがありません。
2) doctrine dbal と doctrine common...
解凍された tar のフォルダー構造は次のようになります。これ
は、各フォルダーの内容をそれぞれのフォルダー
に入れるということですか?
ご協力いただきありがとうございます。私は拡張機能自体よりも、これらの拡張機能へのパスを理解するのに苦労しています。
-J
forms - Symfony2 フォーム コンポーネント - name 属性にフォーム名のないフィールドを作成する
現在、Silex マイクロフレームワークを介して Symfony2 フォーム コンポーネントを使用しようとしています。
私のログインフォームは次のように生成されます。
問題は、結果のフォームが次のように作成されていることです。
name 属性と id 属性を次のようにします。
私はウェブを精査し、「property_path」オプションに関するアドバイスを発見しましたが、これは実際の Symfony2 フレームワーク自体で使用されたときにデータを処理するために使用されるクラスに関係していると思います。
私はフォームコンポーネントファイルを調べてきましたが、これが設定されているポイントは次のとおりです。
Symfony/Component/Form/Extension/Core/Type/FieldType.php - 71行目
残念ながら、FormFactory は FormBuilder を利用して Form クラスと連携するため、コンポーネントの内部動作全体を分析するのに十分な時間がありませんでした。
フィールドが FormBuilder 内の「子」配列に追加され、対応するオプションのリストがあることは知っています。getForm 関数が呼び出されると、新しい Form がインスタンス化され、add() メソッドを使用して各子 FieldType が Form に入力されます。この Form->add() メソッドは、フォームを各子の親として自動的に設定します。
これを削除するためだけにこれらのクラスをオーバーライドし始めることなく、他の誰かがフィールド名を表示するための最良の方法を知っていますか?
form_div_layout.html.twig widget_attributes ブロックで 'full_name' の代わりに 'name' をプルすることは可能ですが、これが理想的であったか (id は変更されていないため)、それとも別のメソッドまたは注入可能なものがあったかどうかについては確信が持てませんでした。トリックを行うオプション。
php - Silex\Application のインスタンスの取得
Silexを使用してアプリケーションを作成していますが、メソッド パラメーターでSilex\Application
実行できない場所でのインスタンスを何らかの方法で取得できるかどうか疑問に思っていました。method_name(Application $application)
たとえば、コントローラーにアクションではないプライベート メソッドがあるとします。パラメータApplication $application
として入力すると、渡す必要があるというエラーがスローされます。
必要がない場合は、そのメソッドを手動で渡す必要はありません。
silex - Silex Exception Override の検索
Silex は、アプリ内のどこかでスローされた例外をハイジャックしているようです。これに関する私の問題は、例外がスローされると基本的に無視されるデータベースからユーザーデータを渡す/取得するために使用する user_db_interface クラスがあることです。
たとえば、PDOException を生成するユーザーの電子メール エントリが重複している場合、その例外をクラス内で処理する代わりに、クラス外でエラー処理クロージャを追加する必要があります。この例外に対処してスクリプトを続行できるように、内部で例外を処理したいと考えています。
例外のオーバーライドやバイパスなどはありますか?
次に例を示します。
クラスで PDOException を処理して希望どおりにデータを返せるようにする代わりに、コントローラー領域に次のようなエラー ハンドラーを追加する必要があります。
例外処理が client_db クラスの内部にある場合、エラーもそのアクションに固有のものであることがわかり、エラー パーサーを記述する必要がないため、これは避けたいと思います。