개발노트/포트폴리오사이트

나만의 포트폴리오 웹페이지 만들기 - 5 (CodeIgniter)

2019. 6. 12. 14:07
728x90
반응형

저는 CodeIgniter를 사용하여 포트폴리오 웹페이지를 개발하였습니다.

 

간단한 CodeIgniter에 대한 설명과 사용법에 대해 알아보겠습니다.

 

 

■ CodeIgniter 란?

 

  - PHP기반의 framework로 웹 개발 시 필요한 여러 라이브러리를 제공합니다.

  - M-V-C 패턴을 사용합니다.

  - 깔끔한 URL을 생성합니다. (세그먼트기반 URL -> example.com/news/article/111)

 

 

■ M-V-C 패턴이란?                  

 

  - 에플리케이션을 3가지 역할로 나누어 개발하는 개발 방법론

 

  - Model : 데이터구조를 표현. 애플리케이션이 '무엇'을 할지 정의. 일반적으로 데이터 추출,입력,갱신 함수를 포함

  - View : 사용자에게 보여지는 부분. 일반적으로 웹페이지

  - Controller : 애플리케이션이 '어떻게' 동작할지 정의. 일반적으로 뷰와 모델 사이에서 동작

 

 

■ 기본 사용법

 

  - CodeIgniter 다운로드

   url : http://www.ciboard.co.kr/user_guide/kr/overview/getting_started.html

 

Getting Started With CodeIgniter ‐ 코드이그나이터 3.0 한글매뉴얼

© Copyright 2014 - 2016, British Columbia Institute of Technology. Last updated on Mar 21, 2016.

www.ciboard.co.kr

  - 가상호스트 설정

<VirtualHost *:80>
	##ServerAdmin webmaster@dummy-host.example.com
	DocumentRoot "D:/project/Intro/CodeIgniter"
	ServerName stage.intro.devs
	ServerAlias stage.intro.devs
	##ErrorLog "logs/dummy-host.example.com-error.log"
	##CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

  CodeIgniter의 기본 디렉토리는 CodeIgniter/index.php

 

  - Controller

<?php
class Blog extends CI_Controller {

        public function index()
        {
        	// domain.com/index.php/blog(/index) 접근 시
                echo 'Hello World!';
        }

        public function comments()
        {
        	// domain.com/index.php/blog/comments 접근 시
                echo 'Look at this!';
        }
}

  경로 : CodeIgniter/application/controllers/Blog.php

  ※ 2번째 세그먼트(index(생략가능) / comments)에 따라 컨트롤러 내부 함수 호출

 

  - View

<html>
<head>
        <title><?php echo $title;?></title>
</head>
<body>
        <h1><?php echo $heading;?></h1>
</body>
</html>

  경로 : CodeIgniter/application/vies/blogview.php

<?php
class Blog extends CI_Controller {

        public function index()
        {
                $data['title'] = "My Real Title";
                $data['heading'] = "My Real Heading";

                $this->load->view('blogview', $data);
        }
}

  $data 배열에 선언된 데이터가 view로 전달 ( C - $data['title'] => V - $title )

  ※ $view = $this->load->view('blogview', $data); -> view를 바로 출력하지 않고 변수로 전달 가능

 

  - Model

<?php
class Blog_model extends CI_Model {

        public $title;
        public $content;
        public $date;

        public function __construct()
        {
                // Call the CI_Model constructor
                parent::__construct();
        }

        public function get_last_ten_entries()
        {
                $query = $this->db->get('entries', 10);
                return $query->result();
        }

}

  경로 : CodeIgniter/application/models/Blog_model.php

<?php
class Blog_controller extends CI_Controller {

	public function blog() {
    
		// Blog_model 호출
		$this->load->model('blog');
        
		// Blog_model 내부 get_last_ten_entries function 호출
		$data['query'] = $this->blog->get_last_ten_entries();

		$this->load->view('blog', $data);
	}
}

 

 

여기까지 CodeIgniter에 대한 설명과 기본적인 사용법에 대해 알아보았습니다.

 

위에서 설명한 기능은 기본적인 내용으로 CodeIgniter에는 앞서 설명하지 않은 다양한 라이브러리가 존재합니다.

 

 - 코드이그나이터 한글 매뉴얼 페이지(http://www.ciboard.co.kr/user_guide/kr)

 - CodeIgniter 한국사용자포럼(https://www.cikorea.net/) 

 

위 2개의 사이트를 참고하시면 많은 도움되실 겁니다.

 

다음에는 마지막으로 제가 만든 포트폴리오 페이지에 대해 포스팅하겠습니다.

728x90
반응형
저작자표시 (새창열림)
'개발노트/포트폴리오사이트' 카테고리의 다른 글
  • 나만의 포트폴리오 웹페이지 만들기 - 6(간단한 소개)
  • 나만의 포트폴리오 웹페이지 만들기 - 4 (Git 연동)
  • 나만의 포트폴리오 웹페이지 만들기 - 3 (로컬세팅)
  • 나만의 포트폴리오 웹페이지 만들기 - 2 (서버세팅)
KimBY
KimBY
웹개발과 관련된 개발지식 모음
KimBY
B.Y Kim의 개발노트
KimBY
전체
오늘
어제
  • 분류 전체보기 (99)
    • 사소한 개발지식 (49)
      • PHP (2)
      • JavaScript (15)
      • NodeJS (0)
      • JAVA (2)
      • 잡?지식 (4)
      • 로드맵(FE) (22)
      • React (4)
    • 개발노트 (6)
      • 포트폴리오사이트 (6)
    • 프로그래머스 (33)
      • Level1(JS) (0)
      • Level2(JS) (33)
    • 백준알고리즘 (11)
      • 단계별로 풀어보기3(for문) (11)
    • 잡담 (0)

인기 글

최근 글

최근 댓글

태그

  • 백준알고리즘
  • frontend
  • 단계별로풀어보기
  • react
  • javascript
  • 프로그래머스
  • Level2
  • FE로드맵
  • 로드맵
  • CSS
hELLO · Designed By 정상우.
KimBY
나만의 포트폴리오 웹페이지 만들기 - 5 (CodeIgniter)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.