티스토리 뷰

반응형

namespace와 use는 많은 사람이 혹은 많은 함수가 사용될때 서로 중복되어 이름을 표현하는데, 어려움이 있어 생긴 명령어로 생각됩니다.

일종의 디렉토리(폴더)에 같은 것을 담아내듯이, 함수에 어떤 태그를 넣어서 서로 구분하는 느낌이 들지요.

 

 

좋은 예제는 Opentutorial의 예시를 보니 바로 이해가 되더군요.

https://opentutorials.org/course/62/5138

 

include와 namespace - 생활코딩

프로그램은 작고 단순한 것에서 크고 복잡한 것으로 진화한다. 그 과정에서 코드의 재활용성을 높이고, 유지보수를 쉽게 할 수 있는 다양한 기법들이 사용된다. 그 중의 하나가 코드를 여러개의

opentutorials.org

 

welcome함수를 같이 include나 require를 해도 앞에 이름을 둠으로써 서로 덮었는 것을 방지하는 기능이 눈에 띠네요.

 

모르면 한참 개념에 대해 생각하게 만들지만, 알면 너무도 간단하지만....

 

우리 코딩하는 사람들은 그런 세밀한 다름을 찾아야 하는 것 같아요~

 

<?php
namespace language\en;
function welcome(){
    return 'Hello world';
}
namespace language\ko;
function welcome(){
    return '안녕세계';
}

?>

<?php
require_once 'greeting_lang.php';
echo language\ko\welcome();
echo language\en\welcome();
?>

위의 표현이 간단하지만, 많은 내용을 전달한다고 생각됩니다.

'use'는 그렇다면 왜 쓰는 것일까?

namespace가 너무 길다면?? 코딩할때 많이 불편할 거는 당연하죠.

그럼 그 긴 문구를 짧게 요약해서 쓸 수 있다면 당연 좋은 거구요.

위의 language\ko를 korean이라고 선연하면

use language\ko as korean;

as라는 것을 써서 이렇게 표현합니다. 그러면 korean은 이제부터 language\ko을 의미하고 호출할때

korean::welcom(); 이렇게 되겠죠?

그럼, 즐코딩~하세요~

 

반응형
댓글