1

PHPでMVCがどのように機能するかを理解するのに多くの問題があります。JavaおよびSwingベースのプログラム、またはC#のwinformを使用すると、コントローラーまたはプレゼンターがサブスクライブするイベントが発生し、それに応じてアクションが実行されます。ただし、PHPにはイベントがありません。それらをjavaで実装しますが、ハイパーリンククリックの応答としてメソッドを起動できない場合にMVCを実現する方法を理解できません。

これまでのところ、コントローラーのstart()メソッドでPOST変数とGET変数をチェックしており、特定の方法で応答しています。たとえば、$ _ POSTが設定されていない場合は、ユーザー登録ビューを表示します。それ以外の場合は、ユーザーをPOST変数に登録します。

それを行うにはもっと良い方法が必要だと私は知っていますが、PHPでのビュー->コントローラーの関係を説明するものはWeb上に見つかりません。

これをどのように管理しますか?

4

1 に答える 1

0

ハイパーリンクのクリックに対する応答としてメソッドを起動できない場合、MVC を実現する方法がわかりません。

ルーター内でmethod_exists()関数を使用できるため、次のようになります。

<?php 
if(file_exists($controller)){
    include($controller);
    $this->controller = new $this->controller($this);
    //check method exists within loaded controller
    if(method_exists($this->controller, $this->action)){
        $this->controller->{$this->action}($this);
    }
}
?>
于 2012-11-18T05:45:00.233 に答える