2012-04-25 6 views
7

는 글로벌 키워드는 현재 함수 우리가글로벌 키워드는

<?php 

$some_var = 'some string'; 

function __test(){ 
    global $some_var; 
    echo $some_var; // some string 
} 

다루고있다 그러나 어떤 디바이스의 여전히 기능을 외부 세계 키워드를 사용하여 내부 볼 (배열 또는 객체) 변수를 만든다 첫눈에 나에게 어떤 의미가 없다.

글쎄, 질문 : 그것은 함수 밖에서 '글로벌'키워드를 사용하여 어떤 의미가 있습니까 ??? docs에서

+0

사용 범위는 확실합니까? –

+0

index.php 파일에서도 "global $ some_var"를 보았습니다. 실제로 어떤 함수에도 포함되지 않습니다. 나는 범위에 대해 확신한다. – Yang

+0

@metal_fan 나는 분리 된 파일에서 함수의 내장을 본 것으로 의심된다. – Sampson

답변

7

: 함수 외부 세계 키워드를 사용하여

은 오류가 아닙니다. 파일이 함수 내부에서 포함 된 경우 사용할 수 있습니다.

기본적으로 함수 선언은 함수 선언과 다른 파일에있을 수 있습니다. 이러한 배짱이 기능에 포함될 것입니다. 함수 외의 global을 사용하는 사용자의 경우,이 코드가 해석 될 때 에서 내의 함수로 해석된다는 인상을 줄 수 있습니다.

$name = "Jonathan"; 

function doSomething() { 
    include('functionGuts.php'); 
} 

우리 functionGuts.php 파일의 내용이 될 수 여기서 현실이되는 때

자체에서 볼
global $name; 
echo "Hello, " . $name; 

functionGuts.php는, global 함수의 외부에서 사용되고 있다는 인상을 줄 것이다 다음과 같이 사용 :

$name = "Jonathan"; 

function doSomething() { 
    global $name; 
    echo "Hello, " . $name; 
} 
0

글로벌 키워드 기능의 외부에 전혀 아무것도하지 않습니다. 그 파일은 함수 안에 포함될 수 있습니다.

내가 사용하는 또 다른 것은 내 코드를 읽고 더 체계적으로 만드는 것입니다. 함수에서 global 키워드를 사용하여 액세스하고자하는 모든 변수는 기본 파일에서 global을 사용하여 선언하므로 간단한 눈으로 볼 수 있으며 전역으로 참조되는 것을 알고 있습니다. (다른 사람이 다른 어딘가에서 사용함에 따라 이름을 변경하지 마십시오.)

관련 문제