ここで質問するべきかどうかわかりません。その場合は、お知らせいただくか、移動/削除してください。
質問:
学習のために、非常に小さな個人用 Web サイト用に独自の小さな MVC「ライブラリ」を作成しています。使用されているプロセスは次のとおりです(正しい方法で行うことに近づいていない場合は、修正してください):
- すべてのリクエスト (画像などを除く) は、index.php (ブーストラップ ファイル) を介して送信されます。
ブートストラップ ファイルはリクエストを解析し、コントローラとアクションを抽出します。例:
http://www.Domain.com/Controller/Action/Argument1/Argument2/ ...
Controller がコントローラーである場合、action はコントローラーで呼び出されるメソッドです。この場合、次のようになります: Controller -> Action ( Argument1 , Argument2 );
ここで、ユーザーが次のサイトにアクセスした場合はどうなるでしょうか。
http://www.Domain.com/Controller/__destruct
また
http://www.Domain.com/Controller/__get/password
現在のソリューション:
- $config->getURIFilter () メソッドなどを介してリクエストを実行します
- method_exists () や is_callable () などのチェックを行います。
- リクエストを処理するためではないメソッドをコントローラーに含めないでください
そもそもこれは問題ではないように思えますが、私の設計は間違っています。
PS私はすでに多くの優れた MVC PHP フレームワーク (CodeIgniter、Yii、CakePHP、Zend、Swiftlet など) を見てきました。