>백엔드 개발 >PHP 튜토리얼 >CLI 모드에서 실행될 때 PHP 스크립트가 옵션 및 값 입력을 허용하도록 만드는 방법

CLI 모드에서 실행될 때 PHP 스크립트가 옵션 및 값 입력을 허용하도록 만드는 방법

WBOY
WBOY원래의
2016-07-30 13:31:221001검색

Linux 시스템에 익숙한 사용자는 Linux의 많은 명령이 rm -f hello.txt, ls -al, netstat -tnl 등과 같은 옵션 및 값 입력을 지원한다는 것을 알아야 합니다. 그러면 PHP를 어떻게 만드나요? cli에서 스크립트 실행 모드에서 실행할 때 옵션 및 값 입력도 지원하나요? 두 가지 방법이 있습니다:

getopt() 함수 사용

이제 세 가지 옵션의 입력을 지원하기 위해 PHP 스크립트가 필요하다고 가정해 보겠습니다.
-a: 값 입력을 허용하지 않습니다
-b: 값 입력 허용
-c: 값 입력을 허용하며 값은 선택 사항입니다.

위 요구 사항에 따라 PHP 스크립트를 작성할 수 있습니다.

<code><span><span>function</span><span>main</span><span>(<span>$args</span>)</span> {</span>
    var_dump(<span>$args</span>);
}

<span>/*
 * 选项字符后面不带冒号,表示该选项不支持值输入
 * 选项字符后面带一个冒号,表示该选项支持值输入
 * 选项字符后面带两个冒号,表示该选项支持值输入,且值可选
 */</span><span>$args</span> = getopt(<span>'ab:c::'</span>);
main(<span>$args</span>);</code>

그런 다음 여기에서 명령을 사용하여 스크립트를 실행합니다. Linux를 예로 들어 스크립트 이름이 test.php라고 가정하면 ./php와 test.php 사이에는 -f 옵션이 필요하지 않습니다.
./php test.php -a -b=valueOfB -c=valueOfC

출력:
CLI 모드에서 실행될 때 PHP 스크립트가 옵션 및 값 입력을 허용하도록 만드는 방법

옵션 c의 값은 선택 사항이므로 옵션 c가 값을 전달하지 않으면 어떻게 되는지 시도해 보겠습니다.
CLI 모드에서 실행될 때 PHP 스크립트가 옵션 및 값 입력을 허용하도록 만드는 방법
보시다시피 값이 없는 옵션에 해당하는 배열값은 false

입니다. 여기서 주목할 점은 옵션과 값이 등호 "="를 사용하여 연결되거나, 등호를 생략하면 -b valueOfB처럼 옵션과 값을 구분하는 데 공백을 사용할 수 없습니다. 그렇지 않으면 값을 얻지 못할 수 있습니다.

getopt()--a처럼 두 개의 대시로 시작하는 옵션을 지원합니다. 자세한 내용은 getopt()

의 두 번째 매개변수 $longopts를 참조하세요. $argv 변수를 사용하세요.

일부 값만 스크립트에 전달하려면 $argv 변수를 사용하면 됩니다. 이 변수에 대한 자세한 내용은 http://php.net/manual/을 참조하세요. zh/reserved.variables.argv.php

PHP 스크립트:

<code>var_dump(<span>$argv</span>);</code>

명령 실행./php test.php valueOfA valueOfB valueOfC

출력:
CLI 모드에서 실행될 때 PHP 스크립트가 옵션 및 값 입력을 허용하도록 만드는 방법

저작권 안내: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.

위 내용은 관련 내용을 포함하여 PHP 스크립트가 cli 모드에서 실행될 때 옵션 및 값의 입력을 허용하도록 하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.