CLI 에서 실행하기 Running via the CLI

브라우저의 url을 통해서 As well as calling an applications 컨트롤러(Controllers) 를 호출할 수 있는 것과 마찬가지로 명령줄 the command-line interface (CLI)에서도 호출 할 수 있습니다.

CLI란?

command-line interface 는 명령줄에서 프로그램을 실행하는 것입니다. 더 궁금하시다면 위키페이지를 보세요 Wikipedia article..

왜 명령줄에서 실행하는가?

명령줄에서 CodeIgniter를 실행하는 이유는 여러가지가 있지만 명확한 이유가 없는 경우도 있겠습니다.

  • wget 또는 curl을 사용하지 않아도 cron-job 을 실행할 수 있습니다.
  • is_cli()를 검사하여, URL을 통해서는 cron-job을 실행하지 못하도록 할 수 있습니다.
  • 권한 설정, 캐시 폴더의 파일 삭제, 백업 등의 “작업”을 대화 형식으로 실행할 수 있습니다.
  • 다른 언어로 만들어진 다른 프로그램과 통합할 수 있습니다. 예를 들어, 임의의 C++ 를 CI어플리케이션의 모델에서 호출할 수 있습니다!

해 봅시다: Hello World!

실제 동작을 확인하기 위해 간단한 컨트롤러를 작성합시다. 텍스트 편집기에서 Tools.php 를 만들고 다음 코드를 입력하십시오:

<?php
class Tools extends CI_Controller {

        public function message($to = 'World')
        {
                echo "Hello {$to}!".PHP_EOL;
        }
}

그런 다음이 파일을 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() 도 문제 없이 동작합니다.