>백엔드 개발 >PHP 튜토리얼 >PHP의 네임스페이스 사용 사례 분석

PHP의 네임스페이스 사용 사례 분석

高洛峰
高洛峰원래의
2017-01-06 13:35:131105검색

이 기사의 예에서는 PHP에서 네임스페이스 사용 방법을 설명합니다. 참고하시라고 자세한 내용을 공유합니다.

이제 이렇게 말하면 좀 촌스러운 느낌이 들지만, 네임스페이스가 익숙하지 않아서 사용하는 분들이 많지 않은 것 같아요.

클래스는 함수를 하나씩 정리하는데, 네임스페이스는 클래스, 함수 등을 질서정연하게 정리하는 것으로 이해하면 됩니다. 개인적으로 네임스페이스의 가장 큰 장점은 다음과 같습니다.

첫째, 코드를 더 잘 관리할 수 있습니다.
둘째, 파일이 많을수록 클래스와 함수의 이름이 중복되는 것을 피할 수 있습니다.
셋째, 코드 읽기 가능 향상된 성능

1. 네임스페이스 정의

namespace userCenter;
//php代码
namespace userCenter\register;
//php代码
namespace userCenter\login {
 //php代码
}

는 한 번만 인식됩니다. 그러나 동일한 파일에 여러 개의 네임스페이스 코드를 정의할 수 있습니다. 각 파일에 대해 네임스페이스를 정의하는 것이 더 적합합니다(동일한 네임스페이스일 수 있음).

2. 네임스페이스 호출

\userCenter\register; //绝对调用
userCenter\login; //相对调用
use userCenter\register; //引用空间
use userCenter\register as reg; //引用空间并加别名

3. 예시

login.class.php

regist.class.php
<?php
namespace userCenter;
function check_username(){
 echo "login OK<br>";
}
class login{
 public function save(){
 echo "login had saved<br>";
 }
}
?>

test.php
<?php
namespace userCenter\regist
{
 function check_username() {
 echo "regist OK<br>";
 }
 class regist{
 public function save(){
 echo "regist had saved<br>";
 }
 }
}
?>

 

<?php
require "login.class.php";
require "regist.class.php";
use userCenter\regist; //使用use调用空间
use userCenter\regist as reg; //as定义别名
echo \userCenter\check_username(); //绝对调用
$login = new \userCenter\login();
echo $login->save();
echo regist\check_username(); //相对调用
echo reg\check_username(); //别名调用
$regist = new reg\regist();
echo $regist->save();

절대 호출보다 use를 사용하는 것이 클래스, 함수 등에 접두사를 추가하는 것과 같아서 더 명확해 보입니다.

이 글이 PHP 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.

Xphp 네임스페이스 사용 사례 분석에 대한 더 많은 글은 PHP 중국어 홈페이지를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.