标签:语句 error 解析 pre pac fun function static line
在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。
<?php
namespace Foo\Bar\subnamespace;
const FOO = 1;
function foo() {}
class foo
{
static function staticmethod() {}
}
?>
<?php
namespace Foo\Bar;
include ‘file1.php‘;
const FOO = 2;
function foo() {}
class foo
{
static function staticmethod() {}
}
/* 非限定名称*/
foo(); /*解析为:Foo\Bar\foo*/
foo::staticmethod(); /*同上*/
echo FOO; /*同上*/
/*限定名称*/
subnamespace\foo(); /*解析为:Foo\Bar\subnamespace\foo*/
subnamespace\foo::staticmethod(); /*同上*/
echo subnamespace\FOO; /*同上*/
/*完去限定名称*/
\Foo\Bar|foo(); /*解析为:Foo\Bar|foo*/
\Foo\Bar\foo::staticmethod(); /*同上*/
\Foo\Bar\FOO; /*同上*/
在命名空间内部访问全局类、函数和常量:
<?php
namespace Foo;
function strlen() {}
const INI_ALL = 3;
class Exception {}
$a = \strlen(‘hi‘); // 调用全局函数strlen
$b = \INI_ALL; // 访问全局常量 INI_ALL
$c = new \Exception(‘error‘); // 实例化全局类 Exception
?>
标签:语句 error 解析 pre pac fun function static line
原文地址:http://www.cnblogs.com/sinceForever/p/7553243.html