PHP的命名空间
首先
虽然它是基础的部分,但是PHP的命名空间还是相当容易理解的。
这是我自己学习用的,如果有错误请留下评论。
名称空间
为了避免变量和函数的冲突,命名空间被用于在js中创建空对象来实现,但在PHP中更加直观易懂。
要创建命名空间,使用namespace进行创建。
<?php
namespace myLib\lib;
function showAge(){
echo '55';
}
const NICK_NAME = '加藤';
class User{
public $name = '佐藤';
}
?>
<?php
require 'User.php';
$user = new myLib\lib\User();
echo $user -> name;//佐藤
myLib\lib\showAge();//55
echo myLib\lib\NICK_NAME;//加藤
?>
命名空间的规则
只能在命名空间前面进行声明语句的编写,如果有html等描述就会出现错误。
<!DOCTYPE html>
<?php
namespace myLib\lib;//Fatal error
class User{
public $name = '佐藤';
}
?>
命名空间的层次结构
与目录相同,命名空间可以具有层次结构。
使用反斜杠(\)来定义层次结构。
namespace myLib\lib;
简化命名空间引用的方法是使用”用”关键词。
假设在下述情况中,出现了多个命名空间的引用。
这种情况下,我们使用 “use 命名空间标识符 as 标识符名” 的语句。
<?php
require 'User.php';
$user = new myLib\lib\User();
echo $user -> name;//佐藤
myLib\lib\showAge();//55
echo myLib\lib\NICK_NAME;//加藤
?>
使用
<?php
require 'User.php';
use myLib\lib as lib;
$user = new lib\User();
echo $user -> name;//佐藤
lib\showAge();//55
echo lib\NICK_NAME;//加藤
?>
结束
除此之外还有很多其他的东西,我会继续补充。