CodeIgniter : PHP Framework

CodeIgniter : PHP Framework

< ?php

// 코드를 웹에서 직접 점근하는 경우를 허용하지 않게 해주는

defined( 'BASEPATH' ) or exit ( '직접 접근은 불가합니다.' );

// 클래스명은 파일명과 같아야함.

// 그리고 컨트롤러는 CI_Controller를 상속받아야함.

class Intro extends CI_Controller{

// 이 컨트롤러 클래스인 Intro가 처음 실행될 때 별도의 지정이 없다면

public function index(){

echo "Intro index!!!!" ;

// echo로 화면을 만드는 것을 불편함. 또한, 이 클래스의 코드가 매우 복잡함

// 화면에 보여지는 것들은 별도로 views 폴더 안에 별도 문서로 제작하고 이를 불러와서 보여주기

$this - > load - > view( 'intro_view' );

}

// Intro를 실행할 때 특정 메소드를 지정해서 실행할 수도 있음

public function show(){

echo "Intro show!!!!" ;

// 별도의 view문서로 화면 설계하고 보여주기

$this - > load - > view( 'intro_show' );

// 하나의 함수안에 여러뷰를 load할 수 있음

$this - > load - > view( 'intro_show_second' );

}

// 이를 이용해서 웹페이지의 공통 모듈작업 가능함

public function module(){

// headerview 추가

// 콘텐츠 추가

}

// 뷰에 데이터를 전달하기

public function transmisstion(){

// 뷰를 로드하면서 보내줄 데이터들 연관배열로

$datas = array( "name" = > "SAM" , "msg" = > "Hello CodeIgniter" );

$this - > load - > view( 'trans/first' ,$datas);

}

// 뷰를 로딩하여 화면에 보여주는 것이 아니라 문자열로 리턴해주기

public function returnView(){

// 세번째 파라미터 : 문자열로 리턴할지 여부

$str = $this - > load - > view( 'intro_view' , '' , true ); //매개변수 1:문서이름 2:전달할 값 3:기본값 false

echo "로딩한 뷰의 문자열 데이터 : " .$str;

}

// 이제 데이터를 관리하는 Model문서에 대해서 .......

public function members(){

$this - > load - > model( 'Member' );

// 위에서 로딩을 하면 이 컨트롤러 클래스의 객체(Intro)의 멤버변수로 Member라는 클래스 객체 참조변수가 생김

$name = $this - > Member - > getName();

$msg = $this - > Member - > getMessage();

// echo "$name, $msg";

// 뷰에 전달할 연관배열

$datas = array();

$datas[ 'name' ] = $name;

$datas[ 'msg' ] = $msg;

// 뷰문서로 이쁘게 보여주기위해 데이터를 전달

$this - > load - > view( 'member/member_view' ,$datas);

// 참고 //

// 모델 로딩하면 자동으로 Controller클래스의 멤버변수가 만들어짐

// 이때, 기본 변수명은 Model class의 클래스명과 같음

// 이 이름을 별명으로 변경할 수 있음

// $this->load->model('Member','aaa');

// $name=$this->aaa->getName();

// $msg= $this->aaa->getMessage();

}

// CI데이터베이스 사용하기

public function database(){

// 모델 문서의 데이터를 데이터베이스에서 읽어오기

// 그 작업은 모델문서에서 작업

$this - > load - > model( 'board/BoardDB' );

$rows = $this - > BoardDB - > getBoards();

foreach($rows as $row){

echo $row[ 'num' ]. ", " .$row[ 'name' ]. ", " .$row[ 'msg' ]. "" ;

}

// 이쁘게 하기 위해 뷰문서를 이용

$datas[ 'rows' ] = $rows;

$this - > load - > view( 'board/board_view' ,$datas);

}

// DB에 값 입력하는 메소드

public function insertBoard(){

$name = $_POST[ 'name' ];

$msg = $_POST[ 'msg' ];

$this - > load - > model( 'board/BoardDB' );

$this - > BoardDB - > insertRecord($name, $msg);

//리스트를 보여주는 화면 로딩하는 메소드 실행

$this - > database();

}

}

from http://lcw126.tistory.com/217 by ccl(A) rewrite - 2020-04-02 15:27:26