<?php /** * Hello World * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_world extends CI_Controller { public function index() { echo 'Hello World!'; } }
* World가 지겹다면 Controller로 바꿔 봅시다.
갑자기 $name 이 생기기는 했지만 신경쓰지 맙시다.
<?php /** * Hello World * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_controller extends CI_Controller { public function index($name = 'Controller') { echo 'Hello ' . $name . '!'; } }
* 내 이름이 안나오니 별로네요.
'hoksi' 가 출력되도록 수정해 봅시다.
하지만 프로그램을 수정하지는 않을겁니다. 이럴때를 위해서 $name 을 추가 한거니까요. ^^
대신 아래 처럼 URL에 인자값을 넘겨주면 됩니다.
갑자기 index 가 붙기는 했지만 출력은 잘 된답니다.
ex> hello_controller/index/hoksi
<?php /** * Hello World * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_controller extends CI_Controller { public function index($name = 'Controller') { echo 'Hello ' . $name . '!'; } }
<?php /** * Hello Remap * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_remap extends CI_Controller { public function _remap($name = 'World') { echo 'Hello ' . $name . '!'; } }
* _remap을 사용하면 index를 지울 수 있습니다.
아래처럼요.. ^^
ex> hello_remap/hoksi
<?php /** * Hello Remap * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_remap extends CI_Controller { public function _remap($name = 'World') { echo 'Hello ' . $name . '!'; } }
<?php /** * Hello Model * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_model extends CI_Controller { public function index() { $this->load->model('mvc_sample/hello_m'); echo 'Hello ' . $this->hello_m->get_name() . '!'; } }
<?php /** * Hello_m * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_m extends CI_Model { public function __construct() { parent::__construct(); } public function get_name() { return 'Model'; } }
<?php /** * Hello View * * Created on 2014. 10. 13. * @author 불의회상 <hoksi2k@hanmail.net> * @version 1.0 */ class Hello_view extends CI_Controller { public function index() { $this->load->view('mvc_sample/hello_view'); } }
Hello view!
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /** * 블로그 기본 Controller * * Created on 2014. 10. 20. * @author 불의회상(hoksi2k@hanmail.net) * @version 1.0 */ class Blog_basic extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->model('mvc_sample/blog_basic_model'); } public function index() { $data = array( 'blogs' => $this->blog_basic_model->blog_basic() ); $this->load->view('mvc_sample/blog_basic', $data); } public function post() { $data = array( 'title' => strip_tags($this->input->post('title', TRUE)), 'content' => strip_tags($this->input->post('content', TRUE)) ); if($data['title'] != '' && $data['content'] != '') { //$this->blog_basic_model->insert($data); } redirect(site_url('mvc_sample/blog_basic')); } }
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>블로그 기본</title> <meta name="author" content="불의회상(hoksi2k@hanmail.net)"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/assets/bootstrap-2.3.2/css/bootstrap.min.css" media="screen" charset="utf-8" /> <link rel="stylesheet" href="/assets/bootstrap-2.3.2/css/bootstrap-responsive.css" media="screen" charset="utf-8" /> <link rel="stylesheet" href="/assets/font-awesome-3.2.1/css/font-awesome.min.css" media="screen" charset="utf-8" /> <!-- Jquery --> <script src="/assets/jquery-1.8.3/jquery.min.js"></script> <!--[if IE 7]> <link rel="stylesheet" href="/assets/font-awesome-3.2.1/css/font-awesome-ie7.min.css" media="screen" charset="utf-8" /> <![endif]--> <!--[if lt IE 9]> <script src="/assets/js/plugin/html5.js"></script> <![endif]--> <style>body {margin-top:60px;}</style> </head> <body> <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="brand" href="<?=site_url('mvc_sample/blog_basic')?>">Blog basic</a> <div class="nav-collapse collapse"> <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#post_blog" data-toggle="modal"><i class="icon-pencil"></i> Post</a></li> </ul> </div><!--/.nav-collapse --> </div> </div> </div> <div class="container"> <?php foreach($blogs as $blog): ?> <div class="row"> <div class="span12"> <h3><i class="icon-beer"></i> <?=$blog['title']?></h3> </div> <div class="span12 well"> <?=nl2br($blog['content'])?> </div> </div> <?php endforeach ?> </div> <form action="<?=site_url('mvc_sample/blog_basic/post')?>" method="post"> <div id="post_blog" class="modal hide fade"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h2>등록</h2> </div> <div class="modal-body"> <fieldset> <div class="control-group"> <label class="control-label" for="title">제목*</label> <div class="controls"> <input id="title" name="title" type="text" placeholder="" class="input-block-level" required=""> </div> </div> <div class="control-group"> <label class="control-label" for="content">내용*</label> <div class="controls"> <textarea id="content" rows="10" name="content" class="input-block-level" required=""></textarea> </div> </div> </fieldset> </div> <div class="modal-footer"> <button id="post_btn" class="btn btn-primary">등록</button> </div> </div> </form> <script src="/assets/bootstrap-2.3.2/js/bootstrap.min.js"></script> </body> </html>
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /** * 블로그 기본 Model * * Created on 2014. 10. 20. * @author 불의회상(hoksi2k@hanmail.net) * @version 1.0 */ class Blog_basic_model extends CI_Model { protected $tbl; public function __construct() { parent::__construct(); // $this->load->database(); // Database Load $this->tbl = 'blog_basic'; $this->pkey = 'blog_basic_id'; } public function blog_basic() { $len = 10; return $this->db->order_by('created', 'desc')->limit($len)->get($this->tbl)->result_array(); } public function insert($data) { $this->db->set('created', 'now()', FALSE); $this->db->insert($this->tbl, $data); return $this->db->insert_id(); } }