Friday, September 9, 2011

CodeIgniter 시작 [II] - 시험 코딩

CodeIgniter 시험 코딩


CodeIgniter는 MVC를 구현하는 PHP Development Framework이다

기본 코딩은 알고보면 진짜 간단하고 쉽다

먼저 Controller 코딩을 한다
거기서 View와 Model의 파일명을 정한다
거기서 Model을 통하여 넘겨 받을 변수 어레이를 만들어서 View에 사용할 변수 어레이로 만든다

저 세가지가 코딩의 개략이다
그럼 하나씩 보기로 하자

1. Controller를 만든다

    application/controllers 아래에 controller 파일을 하나 만든다
    application/controllers/helloworld.php


<?php
class Helloworld extends CI_Controller
{
  public function index()
  {
  $this->load->model('helloworld_model');
  $data['result'] = $this->helloworld_model->getData();
$data['page_title'] = "CI Hello World App!";
$this->load->view('helloworld_view', $data);
  }
}

    Model 파일명은 helloworld_model.php로,
    View 파일명은 helloworld_view.php로 정했다

    Model을 통해서 Database에서 추출하여 어레이로 만들 변수명을 data로 하였고,
    Model에서 getData()라는 메쏘드를 만들어서 데이터를 추출하도록 하였다

    저렇게 만든 어레이 변수의 내용은 View에서는 "$"만 앞에 붙여서 불러 쓰면 된다

    *2.0 차이점: 다른 것은 extends 다음에 나오는 CI_Controller 처럼 "CI_"를 앞에 붙여야 한다

2. View를 만든다

    Controller에서 정한 파일명으로 View를 만든다

    application/views 아래에 view 파일을 하나 만든다
    application/views/helloworld_view.php

<html>
  <head>
<title><?php echo $page_title; ?></title>
</head>
<body>
  <h1><?php echo $page_title; ?></h1>
  <?php foreach($result as $row):?>
  <h3><?php echo $row->title ?></h3>
  <p><?php echo $row->text ?></p>
  <br />
  <?php endforeach; ?>
</body>
</html>

    Controller에서 만든 어레이변수의 내용에 "$"만 붙여서 쓰면 된다

3. Model을 만든다

    Controller에서 정한 파일명으로 Model을 만든다

    application/models 아래에 model 파일을 하나 만든다
    application/models/helloworld_model.php

<?php
class Helloworld_model extends CI_Model
{
    public function __construct()
  {
  //Call the Model constructor
  parent::__construct();
  }


  function getData()
  {
  $query = $this->db->get('data');

  if ($query->num_rows() > 0)
  {
  return $query->result();
  }
  else
  {
  show_error('Database is empty!');
  }
  }
}

    Controller에서 정한 대로 getData()메쏘드로 데이타를 추출한다

    *2.0 차이점: __construct() 메쏘드를 만들고 parent::__construct();를 부른다

여기까지 한 다음에 http://code를 하면 codeigniter 디렉토리를 자동으로 련결하여 데이터베이스에서 추출한 것을 view를 통하여 보여준다

    *Routes의 default_controller를 helloworld로 하였기 때문에 웹브라우저의 주소에 설치디렉토리만 적어주면 된다

No comments:

Post a Comment