2014-05-19 3 views
-3

검색하는 동안 내 문제와 관련하여 아무 것도 찾을 수 없습니다. 어쩌면 내 수색을 제대로 말하지 않은 것일 수도 있습니다. 어쨌든 다른 함수 내부에서 다른 파일의 함수를 호출하려고하는데 작동하지 않습니다. 범위 문제 인 것처럼 보입니다.함수 내의 함수를 호출하는 PHP 함수 범위

File1.php : 나는 다음이 File2.php에서 다음

<? 
function myCoolFunction() 
{ 
    // Some really cool stuff in here 
} 

:

<? 
require('File1.php'); 

// A bunch of stuff 

function anotherCoolFunction() 
{ 
    // Do some stuff 

    myCoolFunction(); 
} 

myCoolFunction이 anotherCoolFunction의 내부에 존재하지 않습니다. File2.php에서는 호출 할 수 있지만 다른 함수에서는 호출 할 수 없습니다. 그래서 제 질문은 어떻게이 일을 성취 할 수 있느냐는 것입니다. PHP에서 슈퍼 전역 함수와 같은 것이 있습니까?

도움 주셔서 감사합니다. 당신이 제대로 기능을 정의 할 수 function 키워드를 사용하여, 우선 들어

error_reporting(E_ALL); 
ini_set('display_errors', 1); 
+1

'function' 키워드를 사용하지 않은 이유, 즉 정의에'function myCoolFunction() {...} '이 사용 된 이유는 무엇입니까? – celeriko

+0

나는 그렇다. 코드 스 니펫에 해당 부분을 추가하는 것을 잊었습니다. – user3150106

답변

0

보고 당신의 기능

function myCoolFunction() 
{ 
echo 'hello'; // Some really cool stuff in here 
} 

function anotherCoolFunction() 
{ 
    // Do some stuff 

    myCoolFunction(); 
} 

anotherCoolFunction(); 

다음에 가능 오류 시도를 정의하려는 경우

0

그것은 일 것입니다.

당신은 당신이 당신에있는 파일의 범위에 그 내용을 가져오고 있습니다있는 방식으로 파일을 필요로 할 때 당신의 File2.php

생각해을. (파일 네임 스페이스 내에서 다른 이야기됩니다.)

<? 
require('File1.php'); 

// A bunch of stuff 

function anotherCoolFunction() 
{ 
    // Do some stuff 

    myCoolFunction(); 
} 

하고 같은 일 :

<? 
function myCoolFunction() 
{ 
    // Some really cool stuff in here 
} 

// A bunch of stuff 

function anotherCoolFunction() 
{ 
    // Do some stuff 

    myCoolFunction(); 
} 

마지막을 (그리고 나는 단지 내가 당신의 코드에서 표시되지 않는이 때문에 말) 당신이 일을 전화 확인 캡슐화 기능. 예 :

$var = anotherCoolFunction(); 
0

이제는 작동합니다. 점 : 짧은 태그 사용은 권장되지 않습니다. 오류가 발견되지 않으면 stackOverflow뿐만 아니라 php.ini 에 의해 설정된이 아름다운 ini_set() 표시 오류 유틸리티를 넣고 참을성있게 선언하십시오. 함수를 선언하기 전에 function 키워드를 사용하지 마십시오.

<?php 
    function myCoolFunction() 
    { 
     // Some really cool stuff in here 
    } 


    <?php 
    ini_set("display_error",1); 
    require('File1.php'); 

    // A bunch of stuff 

    function anotherCoolFunction() 
    { 
     // Do some stuff 

     myCoolFunction(); 
    }