您的位置:首页 > 编程语言 > PHP开发

Android程序员学PHP开发(30)-ThinkPHP5.0(2)命名空间-PhpStorm

2017-03-01 15:07 579 查看
转载请注明出处:http://blog.csdn.net/iwanghang/
觉得博文有用,请点赞,请评论,请关注,谢谢!~

     命名空间 使用范围 访问方式
     *
     命名空间
     从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,
     对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中
     存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目
     录分隔符放在文件名之前得到 /home/greg/foo.txt。这个原理应用到程序设计领域就是命名空间的概念。
     http://php.net/manual/zh/language.namespaces.php
     *
     ThinkPHP5采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加
     高效的类库自动加载机制。
     http://www.kancloud.cn/manual/thinkphp5/118014
     *
     function 适用于命名空间
     const 适用于命名空间
     class 适用于命名空间
     define 不适用于命名空间
     *
     访问方式:
     1、非限定名称访问方式
     2、完全限定名称访问方式
     3、限定名称访问方式(相对路径)

<?php
/**
* 命名空间 使用范围 访问方式
*
* 命名空间
* 从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,
* 对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中
* 存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目
* 录分隔符放在文件名之前得到 /home/greg/foo.txt。这个原理应用到程序设计领域就是命名空间的概念。
* http://php.net/manual/zh/language.namespaces.php *
* ThinkPHP5采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加
* 高效的类库自动加载机制。
* http://www.kancloud.cn/manual/thinkphp5/118014 *
* function 适用于命名空间
* const 适用于命名空间
* class 适用于命名空间
* define 不适用于命名空间
*
* 访问方式:
* 1、非限定名称访问方式
* 2、完全限定名称访问方式
* 3、限定名称访问方式(相对路径)
*/

/**
* kj1,命名空间1
*/
namespace kj1;
function getmsg(){
echo '123<br>';
}
//define('MN','iwanghang');
const MN="iwanghang<br>";
class Animals{
public $obj='cat<br>';
}

/**
* kj2,命名空间2
*/
namespace kj2;
use kj1\Animals;

function getmsg(){
echo '456<br>';
}
//define('MN','iwanghang0');
const MN="iwanghang0<br>";

/**
* 访问方式:1、非限定名称访问方式
*/
getmsg();

/**
* 访问方式:2、完全限定名称访问方式
*/
\kj1\getmsg();
\kj2\getmsg();
echo \kj1\MN;

$animal = new Animals();
echo $animal->obj;

/**
* 访问方式:3、限定名称访问方式
*/
//echo kj1\getmsg(); // 会报错,function kj2\kj1\getmsg() 找不到这个函数

/**
* 访问方式:3、限定名称访问方式
*/
namespace kj3;
echo kj4\getmsg(); // 打印结果:789

namespace kj3\kj4;
function getmsg(){
echo '789<br>';
}


转载请注明出处:http://blog.csdn.net/iwanghang/

欢迎移动开发爱好者交流
沈阳或周边城市公司有意开发Android,请与我联系
联系方式



微信:iwanghang
QQ:413711276
邮箱:iwanghang@qq.com



觉得博文有用,请点赞,请评论,请关注,谢谢!~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐