2013-05-15 7 views
1

안녕하세요, 저는 PHP 네임 스페이스에 익숙하지 않고 뭔가 이해하려고합니다. 나는 PRO Php MVC e-book을 따르고 있으며 거기에 많은 네임 스페이스 예제를 사용합니다. 나에게 혼란을주는 것은 \Framework\NameFramework\Name의 차이점입니까?PHP 네임 스페이스 질문

언제 어떤 버전을 사용하며 그 차이점은 무엇입니까?

답변

3

코드에서 실제로 사용되는 곳의 차이점.

는 예를 들어, use 성명에서, 하나가 사용할 수 있습니다

<?php 
namespace Framework; 

use Framework\Name; 
// OR 
use \Framework\Name; 
// Both do the same thing 

을하지만, 그렇지 네임 스페이스의 앞에 \을 갖는 코드에서 사실 때, 코드 모양을 만들 것입니다 파일의 현재 네임 스페이스에. 예 :

<?php 
namespace Framework; 
// ... 
// The below will actually look for the class `\Framework\Framework\Name` 
$class = new Framework\Name(); 
// However, this will look for, and hopefully find `\Framework\Name` 
$class = new \Framework\Name(); 

이렇게하면 subnamespace에 사용 문이 같은 일을 할 수 있으며 코드에서 통화를 단축 : 예이 도움이

<?php 
namespace Framework; 
use Framework\Cache; 

class test { 
    public function __construct() { 
     // Below gets `\Framework\Cache\Memcache` 
     $memcache = new Cache\Memcache(); 
     // Below gets `\Framework\Cache\Apc` 
     $apc = new Cache\Apc(); 
    } 
} 

희망을!

+0

오케이 감사합니다. – Dblock247