커스터마이징이 까다로워서 그만 둠 ====== 설치 ====== 기본 * CodeIgniter의 최상단 폴더의 index.php가 웹사이트의 root에 위치하도록 복사 * 신규 사이트 : abc 폴더를 추가(했다고 하면) * CodeIgniter 폴더의 모든 파일을 abc에 복사. * application/config/config.php : base url 수정 * DB를 사용하는 경우, database.php를 수정 보안등의 이유로 **system**과 **application**폴더 이름을 바꾸려면, * 폴더 이름 변경 후 * 폴더 최상단(root)의 **index.php** 파일에서 **$system_folder**와 **$application_folder** 폴더 변수 값을 수정 CodeIgniter 폴더를 이동해서 사용하고 싶다면 * **$system_folder**와 **$application_folder** 변수에 **'/www/UserFolder/system'** 와 같이 폴더 경로 전체를 적어준다. {{tag> CodeIgniter}} ====== Application Flow Chart ====== {{http://ellislab.com/_user_guide_src_ci/images/appflowchart.gif}} * from http://ellislab.com/codeigniter/user-guide/overview/appflow.html ====== 정적 페이지 작성 ====== * [[http://ellislab.com/codeigniter/user-guide/tutorial/static_pages.html|여기 정리]] 간단히, - **application/controllers/** 폴더에 새로운 컨트롤러 추가 - **application/views/** 폴더에 화면 표시용 뷰 페이지를 추가 - (1)번에서 적은 컨트롤러가 호출될 때, 뷰 폴더에 추가한 페이지를 호출하면 된다. ===== CI 의 페이지 표시 방식 ===== URL의 위치별로 역할이 정해져 있다. http://example.com/news/latest/10 http://example.com/[Controll-Class]/[Controller-Mehtod]/[arguments] ===== Controll 페이지 추가 ===== * 모든 웹 요청은 컨트롤러로부터 시작하므로, Controller를 추가하는 것으로 시작한다. **application/controllers/pages.php** 추가 별로 티는 안나지만, 새로운 기능을 추가했다. 사용하는 방법은, http://(test-site)/pages/view/$page 와 같은 형식으로 적어주면 된다. ===== 뷰 페이지 추가 ===== **application/views/templates/header.php** 파일 추가 <?php echo $title ?> - CodeIgniter 2 Tutorial

CodeIgniter 2 Tutorial

* $title 항목은 나중에 컨트롤러에 의해 채워진다. **application/views/templates/footer.php** 파일 추가 © 2011 ===== 컨트롤러에 로직 추가 ===== 아무 내용으로든, **home.php**와 **about.php** 파일을 작성합니다. 아까 작성한 pages.php 파일의 view 함수를 변경 합니다. public function view($page = 'home') { if ( ! file_exists('application/views/pages/'.$page.'.php')) { // Whoops, we don't have a page for that! show_404(); } $data['title'] = ucfirst($page); // Capitalize the first letter $this->load->view('templates/header', $data); $this->load->view('pages/'.$page, $data); $this->load->view('templates/footer', $data); } ===== 접속 테스트 ===== * http://(site-url)/index.php/pages/view * http://(site-url)/index.php/pages/view/about ===== 라우팅 Routing ===== * **application/config/routes.php** 페이지에서 라우팅 주소를 변경할 수 있다는 내용인데, // 아래 방법은 pages/view를 사이트 기본 접속 주소로 바꿔버리므로, 이런 것이 있다는 정도만 보는게 좋을 듯. $route['default_controller'] = 'pages/view'; $route['(:any)'] = 'pages/view/$1'; // http://(site-url)/page/ 를 입력하면, http://(site-url)/pages/view/ 에 접속하라는 정의 $route['page'] = 'pages/view'; // http://(site-url)/page/home 과 같이 입력하면, http://(site-url)/pages/view/home 에 접속하라는 정의 $route['page/(:any)'] = 'pages/view/$1'; * sub-page를 웹사이트로 사용하는 경우, index.php를 감추는 방법은 아래쪽에. * [[http://ellislab.com/codeigniter/user-guide/general/routing.html|URI routing]] ====== 동적 페이지 작성 ====== * [[http://ellislab.com/codeigniter/user-guide/tutorial/news_section.html|news 섹션 작성]] ====== 트러블슈팅 ====== * 서브 디렉토리를 사이트 주소로 사용 중인데 Index.php를 삭제하려면 * **.htaccess** 파일에 RewriteEngine을 추가한다. rewrite 구문은 모르므로.. 패스 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] * IIS에서 테스트하는 경우, url rewrite를 적용하는 방법 : [[language:php:php-on-iis#url-rewrite-for-iis]] ====== 커뮤 사이트 ====== * [[http://www.codeigniter-kr.org/]] : 한국 사용자 모임