問題タブ [front-controller]
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.
java - コンストラクタ newInstance を使用した java.lang.NoSuchMethodException
私は現在、JavaでいくつかのWeb開発プロジェクトに取り組んでいます.frontcontrollerを実装しました。これは、パスに応じて新しいコントローラーをインスタンス化することです。
したがって、ユーザーが ?q=user/login ex を実行している場合。フロントコントローラーは、このコードでやろうとしている UserController を開始する必要があります。
これにより、
私はグーグルでそれを調べようとしましたが、ロードされたオブジェクトでコンストラクターを宣言し、クラスを公開するというバグがすでに存在しています。
ユーザーコントローラー:
overriding - Prestashop 1.5 オーバーライド FrontController
/classes/controller/FrontController.php のオーバーライドを作成しようとしています。テスト目的で、元のメソッドを次のように記述しました。
テストクラス /override/classes/controller/FrontController.php は次のように記述されます
しかし、それは常に元の方法を出力します
私が間違っていることはありますか?ちなみに、これは別のドメインでは機能しますが、私が機能させたいドメインでは機能しないため、おそらくさらに複雑なことが起こっています。
キックをありがとう!
php - autloaderはMVCのどこに行くべきですか?
特定の概念をよりよく理解するために、単純なMVCフレームワークを構築しようとしています。最初に対処することが重要だと思ったのは、アプリケーションのすべての要求を処理するフロントコントローラーです。
それについて考え始めたら、アプリケーションが使用するクラスをロードするための最良の方法がわかりませんでした。私の現在の考えのプロセスは、すべての要求がそれを利用するので、私のオートローダーはフロントコントローラーに配置されるべきであるということです。ほとんどのフレームワークは通常これをどこに置きますか?すでに構築されているいくつかのフレームワークを調べても、多くの機能が必要な機能をはるかに超えており、理解しにくいほど複雑になっているため、あまり役に立ちませんでした。
私が使用しようとしているクラスローダーは、https://gist.github.com/221634にあります。
単純なMVCフレームワークを適切に構築および編成する方法を理解しようとしているだけです。
php - PHP認証スクリプトを使用したJavascriptログインページ-どの実装が最適ですか?
HTTPファイルサーバー用に機能するphp認証スクリプトを作成しました。今、私はいくつかの素敵なグラフィックでログインページを書きたいと思います。私は通常、HTML5、javacscript、およびCSSでページを作成します。PHP認証スクリプトを実装する方法がわかりません。これまでのところ、私が知っていると思う2つの方法があります。
ログインページをhtml5とjavascriptで記述し、ユーザーが入力ボックスに名前/パスワードを入力した後、phpスクリプトへのajax呼び出しを使用し、ユーザー名とパスワードをスクリプトに渡し、そのユーザーが認証されたかどうかに応じてphpにtrueまたはfalseを返します。問題は、phpがjavascriptにtrueまたはfalseを返す方法がわからないことです。
index.phpがグラフィックス用のhtml5、javascript、およびcssをロードし、ユーザーが認証されている場合は、htmlファイルサーバー用の通常のindex.htmlドキュメントにリダイレクトするPHPフロントコントローラーモデルを記述します。これに伴う問題は、フロントコントローラーとしてphpを使用することに慣れておらず、通常のhtml5ページであるかのように、特殊効果のためにjavascriptを使用して要素を動的に変更できるかどうかわかりません。
php - PHPフロントコントローラーフローの混乱-Switchステートメントは1回だけテストされました
私はphpに不慣れで、これの流れに混乱しています。$ action変数が新しい値を取得するときに、switch($ action)を複数回評価する必要があるように思われます。しかし、switch($ action)が評価されているのはわかりませんが、一度だけです。例としてadmin_menu.phpを使用しました。ユーザーが <p><a href="index.php?action=show_product_manager">Product Manager</a></p>
admin_menu.phpから選択した場合はどうなりますか?後でindex.phpが呼び出される場所がわからないため、switch($ action)がすでに実行されているため、新しい値がどのようにテストされるかわかりません。
php - PHP マッチング URI とパターン
主に学習目的で、単純なフロントコントローラーに取り組んでいます。
Symfony がルーティングを行う方法が気に入っています。このようにマップにパターンを持ち、/news/{category}/{id}
カテゴリと ID 変数をコントローラーに渡します。しかし、私の問題は、RegEx を使用する能力がないため、パターンを URI に一致させる方法がわからないことです。
どのように合わせたらよいでしょうか
に
次のようなパターンを許可する必要があります: /news/*
- どこが*
すべてに一致しますか? または、このように、変数がいくつかのゴミと混ざっている場所は/news/{category}_ex/14{id}
?
変数と値を取得することは大した問題ではありませんが、マッチングのための正規表現を書くことは問題です。
事前にご協力いただきありがとうございます
php - フロントコントローラーのルート正規表現を簡素化
自分のニーズに合わせて独自の正規表現を1つ作成するのに苦労しています。Doctrine以外はフレームワークを使わないようにしているアプリですが、その場合は問題ありません。フロントコントローラーパターンを使用しており、アノテーションを使用してルートをコントローラーのメソッドにマッピングしています。
お気に入り:
必要なものすべてに一致する単一の正規表現を作成するのを手伝ってくれる人はいますか?
ルールは次のとおりです。
必須:
- コントローラー ( /controller、URL の最初の項目)
- タイプ (.json、.xml、.html、...)
オプション:
- アクション ( /controller/action、URL の 2 番目の項目)
- パラメーター (アクションとタイプの間のすべて、 /controller/action/param1/param2/param3.type )
これが私がなんとかしたことです:
php - MVC を使用した PHP フロント コントローラー
フロントコントローラーデザインでMVCを掘り下げようとしています。
index.php のように、1 行を使用してアプリケーション全体を呼び出したいと考えています。
require_once 行を削除したいのですが、これを含めずにクラスをロードする方法がわかりません。
とにかく、私の主な質問は、1つのフロントエンドクラスを使用して、さまざまなコントローラー、モデル、ビューなどをロードする方法です。これまでのところ、私は思いついた:
しかし、それは少し複雑で、やり過ぎのようです。また、新しいクラスを __construct に含めたら、どのようにロードすればよいですか?
知識不足で申し訳ありませんが、これを何度もグーグルで検索しましたが、この問題に関する知識が広がらないように見える同じページが引き続き表示されます.
php - URLクラス/メソッドルーティングのセキュリティ
URLでのクラス名やパラメータの使用に関するセキュリティ上の問題はありますか?
パスをルーティングする単純なPHPページルーターを作成しました。次に例を示します。
クラスとメソッドの名前を明らかにすることに危険はありますか?または、クラスメソッドに十分なフィルタリングを設定して、問題にならないようにする必要がありますか?
また、私のAJAX呼び出しも同じようにルーティングされます。正当なAJAX呼び出しを保証するために、呼び出しが行われるたびに変更されるセッショントークンを何らかの方法で生成できますか?たとえば、AJAXによってアクセスされているPHPスクリプトで乱数が生成され、これも呼び出しによって送信されます。それらが一致する場合は、許可された要求です。唯一の問題は、どのようにそれらを一致させるかです。
php - URL の /prestashop/ 部分を非表示にする
私は最近、prestashop を使用してショップを構築しました。prestashop のプロダクション インストールは、/prestashop というサーバー上のサブディレクトリにあります。私がやりたいことは、Web サイトを表示するためにhttp://mydomain.com/prestashopに行く必要がなく、http://mydomain.com だけにアクセスできるようにすることです。
これまでに考えた方法は 2 つあります。ワードプレスで行われているのと同様に、インデックス ファイル内の prestashop のフロント コントローラーをルートに移動できますが、これが実行可能なオプションであるかどうかはわかりません。それをいじるのに十分な経験がありません。興味のあるすべての人のための index.php のコードは次のとおりです。
2 番目のオプションは、Apache の mod_rewrite モジュールを使用することです。
しかし、すでにそこにあるhtaccessファイルを開き、このコードがそこにあるので、これを編集できるかどうかわかりません:
私は遊んで、自分でそれを理解しようとし続けますが、皆さんからの助けは非常に高く評価されます. 前もって感謝します。