on
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