본문 바로가기

PHP

PHP 디자인 패턴 MVC 사용방법


PHP에서 디자인 패턴 MVC 사용하 






1. 개요

 


MVC 모델은 객체지향 설계방법이다. 각각의 컴포넌트에 대한 역할을 기능에 맞게 독립적으로 나눔으로써 차후에 최소 비용으로 유연하게 대처할 수 있도록 한다.

 

C 나 JAVA와 같이 컴파일 방식으로 결과물을 만드는 프로그래밍 언어와 달리 PHP는 인터프리터 방식의 기계어로 변환되어 실행되기 때문에 속도저하가 있을 수 있다고 한다. 하지만 이 글의 목적은 PHP에서도 클래스를 사용할 수 있고, MVC패턴을 구현하는 방법을 알아보는데 있다.

 

 


2. 구현

 


//---- mvc.php 파일

<?php

//모델 클래스는 데이터와 로직을 관리한다.

class Model {

public $text;

 

public function __construct() {

$this->text = 'Hello world!';

}

}

 

//버튼이 있는 View 클래스 생성

class View{

private $model;

private $controller;

 

public function __construct( Controller $controller, Model $model ) {

$this->controller = $controller;

$this->model = $model;

}

public function output() {

return '<a href="mvc.php?action=textClicked">' . $this->model->text . '</a>';

}

}

 

//컨트롤 클래스는 뷰에서 넘겨받은 콜백인자를 이용해서 컨트롤러 내부 메서드를 호출

class Controller {

private $model;

 

public function __construct( Model $model ) {

$this->model = $model;

}

public function textClicked() {

$this->model->text = 'Text Updated';

}

}

 

//사용방법

$model = new Mode();

$controller = new Controller($model);

$view = new View($controller, $model );

 

//뷰에서 출력된 링크를 클릭하게 되면 넘어온 action 값을 이용해 컨트롤 메서드를 호출

if(isset($_GET['action'])) $controller->{$_GET[action]}();

echo $view->output();

?>

 

 

 

'PHP' 카테고리의 다른 글

PHP에서 JSONP 출력하기  (0) 2013.05.12