>백엔드 개발 >PHP 튜토리얼 >php는 동일한 파일에 여러 네임스페이스를 정의합니다.

php는 동일한 파일에 여러 네임스페이스를 정의합니다.

伊谢尔伦
伊谢尔伦원래의
2016-11-23 10:59:361245검색

예제 #1 여러 네임스페이스 정의, 단순 조합 구문

<?php
    namespace MyProject;
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */ }
    namespace AnotherProject;
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */ }
?>

단일 파일에 여러 네임스페이스를 정의하는 데 이 구문을 사용하는 것은 권장되지 않습니다. 다음 중괄호 형식의 구문을 사용하는 것이 좋습니다.

예제 #2 여러 네임스페이스 정의, 중괄호 구문

<?php
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace AnotherProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
?>

실제 프로그래밍 실습에서는 동일한 파일에 여러 네임스페이스를 정의하는 것을 권장하지 않습니다. 이 방법은 주로 여러 PHP 스크립트를 동일한 파일로 병합하는 데 사용됩니다.

네임스페이스가 아닌 전역 코드를 네임스페이스 코드와 결합하려면 중괄호 구문만 사용할 수 있습니다. 전역 코드는 이름이 없는 네임스페이스 문과 함께 중괄호로 묶어야 합니다. 예:

예 #3 네임스페이스에 포함되지 않은 여러 네임스페이스 및 코드 정의

<?php
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace { // global code
        session_start();
        $a = MyProject\connect();
        echo MyProject\Connection::start();
    }
?>

선언문을 열 때 네임스페이스 괄호 외부에 PHP 코드가 없어야 합니다.

예제 #4 여러 네임스페이스 정의 및 네임스페이스에 포함되지 않은 코드

<?php
    declare(encoding=&#39;UTF-8&#39;);
    namespace MyProject {
        const CONNECT_OK = 1;
        class Connection { /* ... */ }
        function connect() { /* ... */ }
    }
    namespace { // 全局代码
        session_start();
        $a = MyProject\connect();
        echo MyProject\Connection::start();
    }
?>


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