2010-03-08 5 views

답변

9

사실 파일 내에서만 함수를 볼 수있는 방법은 없습니다. 그러나 비슷한 일을 할 수 있습니다.

는 예를 들어, 람다 함수를 만들어 변수에 할당하고 해제 그 때 수행 :이 스크립트는 절차 것을 제공

$func = function(){ return "yay" }; 

$value = $func(); 

unset($func); 

.

네임 스페이스로 재생할 수도 있습니다.


가장 좋은 방법은 클래스를 만들고, 만들

+1

Closures/lambda 함수 (최소한 PHP 5.3이 필요함)는 아마도 유일한 옵션 일 뿐이며, 다른 파일에서 함수를 숨길 필요성을 다시 생각할 수 있습니다. 아마 실제로 그렇게 할 필요는 없습니다. – meagar

3

개인 방법을 클래스를 만들고 방법을 비공개로하는 것입니다.

<?php 
class Foo 
{ 
    private $bar = 'baz'; 

    public function doSomething() 
    { 
     return $this->bar = $this->doSomethingPrivate(); 
    } 

    private function doSomethingPrivate() 
    { 
     return 'blah'; 
    } 
} 
?> 
0

고객님의 시야를 위해 사용하십시오. namespace PHP는 세계에서

, 네임 스페이스는 두 가지 문제를 해결하기 위해 설계되어 같은 클래스 나 함수와 같은 재사용 가능한 코드 요소 작성시 라이브러리의 저자와 응용 프로그램이 발생할 수 있음 : 코드 사이

  1. 이름 충돌을 내부 PHP 클래스/함수/상수 또는 타사 클래스/함수/상수를 생성합니다.
  2. 첫 번째 문제를 완화하고 소스 코드의 가독성을 높이기 위해 고안된 Extra_Long_Names의 별칭 지정 (또는 줄임) 기능.
관련 문제