問題タブ [phalcon-routing]
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 - Phalcon 3.0 から Phalcon 2.0 への互換性
Devtools 3.0 を使用してベアボーン Phalcon 3.0 プロジェクトを作成し、自分のマシンで正常に動作し、Web ホスト サービスにアップロードすると、エラー メッセージが再現されました。
Argument 1 passed to Phalcon\Di\Injectable::setDI() must implement interface Phalcon\DiInterface, instance of Wegawe\Modules\Frontend\Module given in /home/wewe/web/app/modules/frontend/Module.php on line 41
その後、Web ホスト サービスが Phalcon 3.0 ではなく Phalcon 2.0 を使用していることに気付きました。
これを解決するためのトリックはありますか?私の悪い英語でごめんなさい。:D
ここに私の app/bootstrap_web.php があります:
app/modules/frontend/Module.php:
php - mvc の URL リダイレクト。localhost/windshield-replacement.html を localhost/greenvalleyaz にリダイレクトしたい
私のアプリケーションは現在、phalcon php フレームワークにあります。最後に .html を含む URL をリダイレクトしたい。リダイレクトするためにコントローラー名を と書きましたWindshieldReplacementHtmlController.php
が、間にドットがあるためリダイレクトできませんでした。どうすればこれを解決できますか?
リダイレクト先:
に
localhost/windshield-replacement-html
ターゲットへのリダイレクトを入力すると、使用localhost/windshield-replacement.html
するとコントローラーが検出されません。それを行う正しい方法ですか?
php - 正規表現またはプレースホルダーを使用した Phalcon 2.x および 3.x ルーティングの中断
OSXを実行し、同じApache/2.4、PHP/5.6.27、およびPhalcon/2.0.7パッケージをインストールしたラップトップでローカル開発システムの再構築を行う必要がありました。サーバーコードは、ルーティングを除いて正しく機能しているようです (.htaccess コードは正しく、_url に適切に追加されています)。
元のルーティング コード:
このルートは以前は、/user (ユーザー リストを表示) から /user/1234 (ユーザーを表示)、/user/do_action/1234 などのアクションまで、すべての URI で機能していました。そのルートが機能しただけなので、ルーティングについてこれ以上詳しく説明したことはありません。そのままのコードも本番環境で動作しています(本番環境で使用されているライブラリをミラーリングしており、ローカルで異なる動作を取得していますが、発散動作を引き起こしている他の違いもわかりません)。
ローカルに再インストールすると、これらのパスは機能しなくなり、すべてが /index/index であるかのようにデフォルト設定されます。以前と同じバージョンの Phalcon/Apache/PHP/etc を使用していることを考えると (そして本番環境で)、なぜそのルートが適切でなくなったのかわかりません。
回避策として、より明示的なパスを試しています。これらは機能します:
ただし、動的ルーティング方法は機能しません (正規表現、プレースホルダー、変数を使用するもの):
私はこれについて多くの調査を行ってきましたが、変数/正規表現が一般的な問題であるように見えることを除けば、何も意味がありません。コントローラー ファイルをスキャンしてすべての可能なルートを生成するスクリプトを作成してもかまいませんが、ID 番号をプルするために {id:\d+} が機能する必要がありますが、現時点ではそれは問題ではありません。
また、PCRE がインストールされ、動作していることも確認しました (Phpinfo は、php が --with-pcre-regex でコンパイルされ、有効になっていることを示しています。ライブラリ バージョンは 8.02 2010-03-19 です)。
前もって感謝します!新しい Phalcon/3.0.1 へのアップグレードも試みましたが、同じルーティングの問題が発生しました。2.0.7 で解決しようと思ったのは、2.0.7 が現在の運用環境だからです。他のアップグレードは別の日に取っておきます。
編集 1: httpd.conf と httpd-ssl.conf を含む
httpd-ssl.conf
.htaccess
rest - Phalcon REST API 構造
Phalcon を使用して REST API を開発しています。アプリケーションには、ユーザー、会社、連絡先などの複数のモジュールがあります。これらの各モジュールには、データを格納するための独自のテーブルがあります。さらに、各モジュールには独自の定義ファイルがあり、API 応答でどのフィールドを表示するかを記述しています。私は Phalcon にかなり慣れていません。Phalcon の学習を始めたばかりです。このコードが将来の問題を引き起こさないように、アプリケーションをどのように構築する必要があるか、または何かが欠けているか、コードを抽象化できるかどうかについて、助けが必要です。それ以上は素晴らしいでしょう。
計画どおりのディレクトリ構造:
各モジュールのすべてのデータベース関連のクエリを独自のモデルに常駐させたいと考えています。レコードのリストの API URL は、 http: //api.example.com/MyAPI/V2/contacts/list または /MyAPI/V2/users/list になります。同様に、レコードを作成するための API URL は、http: //api.example.com/MyAPI/V2/contacts/add または /MyAPI/V2/users/listになります。
どのように進めたらよいか教えてください