PHP 5.6.24 is released

サブ名前空間の宣言

(PHP 5 >= 5.3.0, PHP 7)

ディレクトリやファイルと同様、PHP の名前空間においても名前空間の階層構造を指定することができます。 このようにして名前空間を定義します。

例1 階層つきの名前空間の宣言

<?php
namespace MyProject\Sub\Level;

const 
CONNECT_OK 1;
class 
Connection /* ... */ }
function 
connect() { /* ... */  }

?>
上の例は、定数 MyProject\Sub\Level\CONNECT_OK とクラス MyProject\Sub\Level\Connection、 そして関数 MyProject\Sub\Level\connect を作成します。

add a note add a note

User Contributed Notes 5 notes

up
15
dak at pvpallday dot com
7 months ago
He was saying you cannot use '/' or '.' in the Namespace names.

Only '\'.
up
27
do dot not dot reply at foxmail dot com
1 year ago
treat sub-namespaces as different namespace

a.php:
<?php namespace ABC;
const
'__DOMAIN__' = 'example.com';
?>

b.php
<?php namespace ABC\SUBLEVEL;
require
'a.php';
echo
__DOMAIN__; //Notice: Use of undefined constant __DOMAIN__
up
38
leaksin [ at ] gmail [ dot ] com
2 years ago
Never use slashes and dot in namespace declaration.

wrong formats:

<?php

namespace first\second.w;

?>

<?php

namespace first/second;

?>
up
-1
maycon dot rodrigues1 at gmail dot com
4 months ago
The calling to a function, class or constant in the current code file can be:

<?php
namespace MyTest;

const
TEST = 777;

//in this way
echo \MyTest\TEST;

//Or this way
echo TEST// is the same "\MyTest\TEST".

You must notice others behavior for youself .
up
-143
steve dot pye at gmail dot com
1 year ago
Wait a minute. So the document says to declare it like:

namespace Something\SomethingElse;

and you're saying "never do that"? what the what?
To Top