ホームページ  >  に質問  >  本文

タイトルを次のように書き直しました: Symfony 5.4 のプロパティルーティングの問題が解決されました

RFE に解決策があります。問題を解決するには、bin コマンドと php バージョンを使用してください。

私は、Symfony 6 での新しい追加と変更をテストするために、Symfony 5.4 と PHP 7.4 に基づく新しいアプリケーションに取り組んでいます。コンソールのエンティティビルダーを使用してエンティティとCRUDを作成し、データベースが完全に作成されました。ただし、ジェネレーターは「クラシック」アノテーションの代わりに、(https://symfony.com/doc/5.4/routing.html の規則に従って) 新しい「属性」を使用します。コンソールからデバッグして生成されたパスを確認すると、コントローラーで定義されたルートは表示されません (開発モードで URL にアクセスすると、当然 404 エラーが表示されます)。属性を従来のアノテーションに置き換えることにしました。パスが表示され、404 エラーは消えました。しかし、ジェネレーターがエンティティ マネージャーを介したロジック処理にリポジトリを使用していることがわかり、最初から開始するためにインデックスにアクセスすると、次のエラーが発生します:

リーリー

デバッガーに表示されるコード スニペットは次のとおりです:

リーリー

エンティティは次で始まります:

リーリー

私の最大の懸念は、CRUD 全体を書き直すために完全にアノテーションに戻ることはできないのではないかということです。これは多大な作業です (これがジェネレーターの使用を避けようとしている点です)。プロパティを使用します。私が見落としていたものがあります。ここにあるコントローラーはまだ CRUD を変更していないので、誰でも見て、ルーターがこのタイプのアノテーションを持つ定義されたパスを見つけられない理由を理解できます。

リーリー

これの何が問題なのでしょうか?前もって感謝します。

P粉035600555P粉035600555306日前325

全員に返信(2)返信します

  • P粉101708623

    P粉1017086232024-01-11 11:51:39

    私も同様の状況に遭遇しましたが、私の場合、それは Traits (src/Entity/Traits の下にあります) の間違った名前空間に関連していました。

    この特性は使用されていませんが、どうやら依然としてこのエラーが発生しているようです。

    返事
    0
  • P粉860370921

    P粉8603709212024-01-11 11:26:29

    最初のコメントで述べたように、コマンドに php7.4 をプレフィックスとして付けて、すべての bin/コンソール (make: コマンド用) とコンポーザー コマンドを強制的に実行すると、すべてが正常に動作しますが、「クラシック」アノテーションの場合は実行しませんでした。 php7.4のコントローラーで属性を使用する方法が見つかりません。 .php-version ファイルは、開発 Web サーバーを起動するために symfony-cli によってのみ使用されるようです。これが将来この状況に遭遇する可能性のある人に役立つことを願っています。

    返事
    0
  • キャンセル返事