2016-06-21 16 views
0

私はModel、View、Controllerを持っていますので、コードは動作しますが、私が正しく動作するかどうかを教える人はいません。PHP - MVC、私のaproachは正しいですか?

私はそれがどのように動作するかdrawedきたそのので、私は、全体のコードをコピー&ペーストしません。

THE PICTURE: MVC

コードの一部:

class Site { 
protected $config; 
function __construct() { 
    $this->config = include("resources/config.php"); 
} 
private function connect() { /*database connection*/ } 

public function getData($var) { 
    /* connecting, $var = amout of rows, and storing the data in array() */ 
} 
} 

class SiteView { 

private $data; 

function __construct(Site $data) { 
    $this->model = $data; 
} 
public function output() { 
if(!empty($this->model->data)) { /* displays the data */ } 
} 
public function render($template) { 
    return include("$template"); 
} 
} 

class SiteController { 
public function __construct(Site $respond) { 
    $this->model = $respond; 
} 

public function condition() { 

    $view = new SiteView($this->model); 

    $view->render("header.php"); 

    if(!isset($_GET['action'])) { 
     $view->render("body.php"); 
    } else if($_GET['action'] === "report" AND isset($_GET['id'])) { 
     $view->render("report_body.php"); 
    } else if ... 
} 

だから、モデルとビューテンプレートで使用されていて、それが良いか悪いかわからない。どんな種類の助けをしてくれて、私に道を見せてくれてありがとう。

+0

私が持っている少なくとも一つのフィードバック:([すべてのモデルに接続し、あなたのデータベースサーバーを殺す] https://phpdelusions.net/pdo/common_mistakes #接続)。 –

+0

私は変数$ dbを得て、それに接続を割り当てています。データを呼び出す各モデル関数の最後には、 "$ this-> db = null;"という文字列があります。接続を閉じて、これは問題ありませんか? –

+0

いいえ、istは大丈夫ではありません。 –

答えて

-2

MVCまたはモデル、ビュー、およびコントローラのアプローチは、モデルはユーザーが使用するデータ、コントローラはバックエンドロジック、ビューはHTMLまたはユーザーインターフェイス(UI)の出力です。
通常、すべての要求は最初にコントローラに送信されます。コントローラはモデルとビューに接続されています。コントローラは、Modelからの要求に従ってデータを収集し、そのデータをViewに送信して表示します。ビューはモデルと接続できません。

詳細はこのリンクを参照してください
Click Here

関連する問題