스캐폴드Scaffolding
CodeIgniter 의 스캐폴드는 여러분이 데이터베이스에 데이터를 삽입,수정,삭제,조회하는데 매우 편리한 기능을 제공합니다.
Very Important: 스캐폴드는 개발환경에서 사용하는것만을 염두에 두었습니다. "secret" word 외의 보안은 제공하지않습니다, 그러므로 스캐폴드에 접근하는 누구라도 여러분의 데이터를 수정하거나 삭제할 수 있을 가능성이 있습니다. 스캐폴드를 사용하신후에는 반드시 비활성화 시켜주셔야합니다. 실재 사용중인 사이트에서는 스캐폴드를 활성화 시켜놓은 채로 두지 마세요.그리고 스캐폴드를 사용하기 전에 secret word 를 먼저 설정해주세요 ..
왜 스캐폴드를 사용할까요?
님하는 개발중에 새로운 데이터베이스를 생성했습니다. 새로 생성한 데이터 베이스에 자료를 입력하고 싶다고 칩시다. 스캐폴드가 없다면 , 커맨드라인이나 phpMyAdmin 같은 데이터베이스 툴을 이용해야겠지요 ? 스캐폴드를 이용하면 그런 도구없이 아주 쉽게 데이터를 입력,조회,수정,삭제가 가능하답니다.
Secret Word 설정
스케폴드를 사용하기 전에 secret word 를 꼭 설정해주세요 . 왠만하면 요상한 걸로 하셔서 다른사람들이 짐작할수 없도록 하시는게 좋습니다. secure word 을 URL 에 함께 사용하면 스캐폴드가 작동됩니다.
secret word 는application/config/routes.php 파일의 아래변수에다 설정합니다.
$route['scaffolding_trigger'] = '';
위 변수에 당신만의 secret word 를 세팅하세요
Note: secret word 는 밑줄(_)로 시작할수 없습니다..
스케폴드 활성화
Note: 본 페이지는 여러분이 이미컨트롤러 가 어떻게 작동하는지 알고 컨트롤러 샘플파일을 가지고 있다고 가정합니다..또한 여러분이 이미 데이터베이스 를 자동연결로 설정해 놓았다고 가정합니다..만약 아니라면 컨트롤러와 데이터베이스 섹션을 먼저 보셔야합니다.그리고 또한 본페이지는 여러분이 클래스의생성자가 무엇인지 안다고 가정합니다. 아니라면 컨트롤러섹션을 먼저보셔아합니다.
스케폴드를 활성화 하려면아래와같은 코드를 컨트롤러의 생성자에 삽입 합니다.:
<?php
class Blog extends Controller {
function Blog()
{
parent::Controller();
$this->load->scaffolding('table_name');
}
}
?>
table_name 은 작업할 테이블의 이름입니다.(데이터베이스 이름이 아닙니다).
스캐폴드를 활성화 한다음 아래와 같은 주소를 사용하여 접속합니다.(도메인 부분은 여러분의것으로 변경하셔야겠죠 ?):
example.com/index.php/class/secret_word/
예를 들어 컨트롤러의 이름이 Blog 이고 abracadabra 를 secret word 로 설정했다면 아래와 같이 접속하실 수 있습니다:
example.com/index.php/blog/abracadabra/
스케폴드의 인터페이스는 설명할 필요가 없을정도로 직관적이므로 그냥 사용하시면 됩니다..
결언:
스캐폴드는 프라이머리키(primary key)가 있는 테이블에서만 동작합니다.