CLI에서 실행
브라우저의 url을 통해서 Controllers 를 호출할 수 있는것과 마찬가지로 명령줄 the command-line interface (CLI)에서도 호출 할 수있습니다.
CLI란?
command-line interface 는 명령줄에서 프로그램을 실행하는것임(다들 아실듯). 더 궁금하시다면 위키페이지를 보삼 -> Wikipedia article.
왜 명령줄에서 실행하는가?
명령줄에서 CodeIgniter를 실행하는 이유는 여러가지가 있지만 명확한 이유가 없는 경우도 있겠습니다요.
- wget이나 curl을 사용하지 않아도 cron-job 을 실행할 수 있습니다.
- $this->input->is_cli_request()를 검사하여, URL을 통해서는 cron-job을 실행하지 못하도록 할 수 있습니다.
- 권한 설정, 캐시 폴더의 파일 삭제, 백업 등의 "작업"을 대화 형식으로 실행할 수 있습니다..
- 다른 언어로 만들어진 다른 프로그램과 통합할 수 있습니다.예를들어, 임의의 C++ 를 CI어플리케이션의 모델에서 호출할 수 있습니다!
해 봅시다: Hello World!
실제 동작을 확인하기 위해 간단한 컨트롤러를 작성합시다. 텍스트 편집기에서tools.php 를 만들고 다음 코드를 입력하십시오:
그런 다음이 파일을 application/controllers/ 폴더에 저장합니다.
일반적으로 다음의 URL에 액세스하여 사이트를 볼 수 있습니다.:
example.com/index.php/tools/message/to
CodeIgniter 프로젝트를 조작하기 위해 Mac / Linux에서는 터미널을 열고 Windows에서는 "cmd"를 실행합니다.
$ cd /path/to/project;
$ php index.php tools message
제대로 했다면 Hello World!를 보실 수 있습니다.
$ php index.php tools message "John Smith"
URL 인수와 마찬가지로 인수를 전달할 수 있습니다. "John Smith"를 인수로 전달하여 다음과 같이 표시됩니다. : Hello John Smith!.
이것이 전부입니다!
위에것만 알면 명령줄에서 controller를 사용하는데 문제가 없습니다. 라우팅이나_remap 도 문제 없이 동작합니다.