2012-08-12 8 views
6

파일을 실행하는 데 exec()을 사용하고 있지만 파일이 클래스에 있으면 argv에 대해 더 많이 읽었지만 혼란 스러웠습니다. 나는 그것을 수업 안에서 일하도록해야합니다.

은 말한다 :

가, $의 ARGV 및 유의하시기 바랍니다 $는 argc php.net에 클래스 메소드

내에서 액세스하는 동안, 글로벌 선언 할 필요가

+0

목표는 무엇입니까? 인수는 콘솔 실행을위한 것입니다. – Stony

답변

20

즉, argc/argv는 PHP 스크립트의 최상위 문맥에서만 볼 수있는 슈퍼 전역입니다. 따라서 ...

<?php 

$x = $argv[1]; // works 

class foo { 
    function bar() { 
     echo $argv[1]; // undefined 
    } 
    function baz() { 
     global $argv; 
     echo $argv[1]; // works 
    } 
} 
+0

문제가 해결되었습니다. 감사합니다 – user1588878

+1

이것은'$ GLOBALS [ 'argv'] ...를 사용하여 수행 할 수 있습니다. 변수를 현재 범위로 복사하거나 변수를 전역 변수로 만들려고하면 바람직하지 않습니다. – ThorSummoner