php 네임스페이스 사용: [namespace Article;]은 Article이라는 이름의 네임스페이스를 만드는 것을 의미합니다. 현재 스크립트 파일의 첫 번째 네임스페이스 앞에는 코드가 있을 수 없습니다.
네임스페이스의 가장 명확한 목적 중 하나는 중복 이름 문제를 해결하는 것입니다. PHP에서는 두 함수나 클래스가 동일한 이름을 가질 수 없습니다. 그렇지 않으면 치명적인 오류가 발생합니다. 이런 경우에는 이름 중복만 피하면 해결이 됩니다. 가장 일반적인 방법은 접두사에 동의하는 것입니다.
(추천 튜토리얼: php 비디오 튜토리얼)
네임스페이스는 코드를 여러 공간(영역)으로 나누고 각 공간의 상수, 함수, 클래스(게으르게 해서 아래에서는 요소라고 부르겠습니다) 이름 이는 우리가 자주 언급하는 '캡슐화' 개념과 다소 유사합니다.
네임스페이스를 생성하려면 다음과 같이 네임스페이스 키워드를 사용해야 합니다.
<?php //创建一个名为'Article'的命名空间 namespace Article; ?>
현재 스크립트 파일의 첫 번째 네임스페이스 앞에는 어떤 코드도 있어서는 안 된다는 점에 유의해야 합니다. 다음은 잘못 작성되었습니다.
예제 1
//在脚本前面写了一些逻辑代码 <?php $path = "/"; class Comment { } namespace Article; ?>
예제 2
</html> <?php namespace Article; ?>
첫번째 네임스페이스를 왜 말하려는 걸까요? 동일한 스크립트 파일에 여러 네임스페이스를 만들 수 있기 때문입니다.
아래 두 개의 네임스페이스를 생성하고 이 두 공간 각각에 Comment 클래스 요소를 추가했습니다.
<?php //创建一个名为'Article'的命名空间 namespace Article; //此Comment属于Article空间的元素 class Comment { } //创建一个名为'MessageBoard'的命名空间 namespace MessageBoard; //此Comment属于MessageBoard空间的元素 class Comment { } ?>
서로 다른 공간 사이에서 다른 요소를 직접 호출할 수 없으므로 네임스페이스 구문을 사용해야 합니다.
<?php namespace Article; class Comment { } namespace MessageBoard; class Comment { } //调用当前空间(MessageBoard)的Comment类 $comment = new Comment(); //调用Article空间的Comment类 $article_comment = new \Article\Comment(); ?>
보시다시피, MessageBoard 공간의 기사 공간에서 Comment 클래스를 호출할 때 파일 경로와 같은 구문이 사용됩니다. 공간 이름 요소 이름
클래스 외에 함수 및 상수의 사용법은 동일합니다. 아래에는 새 요소가 생성됩니다. 두 공간 모두에 대해 해당 값이 MessageBoard 공간에 출력됩니다.
<?php namespace Article; const PATH = '/article'; function getCommentTotal() { return 100; } class Comment { } namespace MessageBoard; const PATH = '/message_board'; function getCommentTotal() { return 300; } class Comment { } //调用当前空间的常量、函数和类 echo PATH; ///message_board echo getCommentTotal(); //300 $comment = new Comment(); //调用Article空间的常量、函数和类 echo \Article\PATH; ///article echo \Article\getCommentTotal(); //100 $article_comment = new \Article\Comment(); ?>
그런 다음 Article 공간의 요소 데이터를 얻었습니다.
관련 권장 사항: php training
위 내용은 PHP 네임스페이스 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!