2011-01-23 3 views
3

다양한 명령 행 옵션을 필요로하는 PHP로 작성된 CLI 스크립트 foo가 있으면 $ argv 및 $ argc에 처음 작성하여 다른 PHP 스크립트에서 foo를 호출 할 수 있습니까? 그런 다음 include('foo')을 수행 하시겠습니까? (foo는 해시 뱅 지시어가 아니라 <?php으로 시작한다고 가정하십시오.)argc/argv 설정 및 PHP CLI 스크립트 포함

"작동"한다고해도 왜 나쁜 생각입니까? (네임 스페이스 충돌 제외).

+0

argv/argv 대신 제목에 argc/argv가 있습니까? – Adam

+0

@ Adam Fixed. ;-) –

+0

thnx jacob, adam. –

답변

2

/$argc에 무엇이든 쓸 필요는 없습니다. 변수는 기본 스크립트와 마찬가지로 포함에 사용할 수 있습니다.

+0

안녕 Pekka! foo의 CLI 옵션이 호출하는 스크립트 옵션과 독립적이라고 가정합니다. 호출하는 스크립트는 foo의 옵션이 무엇이 필요한지 알아 낸 다음 호출합니다. 일반적으로 exec를 사용하여 PHP 스크립트에서 CLI 명령을 호출합니다. CLI 명령어가 PHP로 작성 되었다면 왜 포함시키지 않을까요? –

+0

@fsb 알겠습니다. 음, $ argv를 재 작성하는 것은 아마도 가능할 수 있지만 나에게 나쁜 습관으로 들립니다. 이 경우 전용 배열을 사용하려고합니다. –

0

사용자가 이러한 명령 줄 인수에 대한 입력을 허용하지 않거나 매우 신중할 경우 항상 system 또는 exec 함수를 사용하여 foo를 명시 적으로 해당 인수와 함께 호출하고 $ argc 및 $ argv. 그래서 당신이 실제로하지 명시 적으로 포함 foo를 필요로한다

..

난 당신이 일하는 것이 제안을하는지 상상, 그냥 이전 값을 넣어하는 것을 잊지 마세요.

+0

예, system/exec/passthru는 일반적으로 스크립트 내에서 스크립트를 실행하는 방법입니다. –