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()이 정상적으로 작동한다는 것을 기억하세요.