CLI를 통한 실행

브라우저의 URL을 통해 애플리케이션 컨트롤러를 호출하는 것처럼 커맨드 라인 인터페이스(CLI)를 통해서도 로드할 수 있습니다.

CLI란 무엇인가?

커맨드 라인 인터페이스는 컴퓨터와 상호 작용하는 텍스트 기반 방법입니다. 자세한 내용은 Wikipedia 기사를 확인하세요.

왜 커맨드 라인을 통해 실행하나요?

커맨드 라인에서 CodeIgniter를 실행하는 이유는 많지만 항상 명확하지는 않습니다.

  • wget 이나 curl 을 사용하지 않고 크론 작업 실행

  • is_cli() 반환 값을 확인하여 URL에서 크론 작업에 접근할 수 없도록 만들기

  • 권한 설정, 캐시 폴더 정리, 백업 실행 등의 작업을 수행할 수 있는 인터랙티브 “태스크” 만들기

  • 다른 언어의 다른 애플리케이션과 통합. 예를 들어 무작위 C++ 스크립트가 하나의 명령을 호출하고 모델에서 코드를 실행할 수 있습니다!

한번 해보기: 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

대신 Mac/Linux에서 터미널을 열거나 Windows에서 실행 > “cmd”로 이동하여 CodeIgniter 프로젝트로 이동합니다.

$ cd /path/to/project;
$ php index.php tools message

올바르게 했다면 Hello World!가 출력되는 것을 볼 수 있습니다.

$ php index.php tools message "John Smith"

여기서는 URL 매개변수와 동일한 방식으로 인수를 전달합니다. “John Smith”가 인수로 전달되고 출력은 다음과 같습니다:

Hello John Smith!

그게 다입니다!

간단히 말해서, 커맨드 라인의 컨트롤러에 대해 알아야 할 것은 이것이 전부입니다. 이것은 일반 컨트롤러이므로 라우팅과 _remap()이 정상적으로 작동한다는 것을 기억하세요.