对Thinkphp的命名空间的理解

Posted ChrissZhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对Thinkphp的命名空间的理解相关的知识,希望对你有一定的参考价值。

TP的命名空间其实就是虚拟目录,目的是为了自动加载类(不是管理文件)

TP命名空间包含两部分:

(1)初始命名空间:Library

(2)根命名空间:

                 a)Library文件下的所有文件夹,只含一级文件

        

 

       b) 应用程序模块名(红色标注的是模块名)

       

tp框架里所有的类文件里都要写上命名空间!!!

怎么写?

 

namespace Admin\\Controller;

 

 从根开始写,写的该文件所在的目录为止。

 

怎么用?

第一种:  

use Think\\Controller;

   从根开始写,写到类名为止。

第二种:

    当不使用use时:

        a) 将第三方类放在根命名空间目录下(以DBDA.class.php为例,放在Home文件夹下新建的Third文件下)

     b)打开该文件,在顶端写上

<?php
    namespace Home\\Third;
   class DB
{
    public $host = "localhost";
    public $uid = "root";
    public $pwd = "";
    public $dbname ="book";
    function query($sql,$type = 1)
..........

 c)引用时:从初始命名空间开始写,到类名为止

$db = new \\Home\\Third\\DB();
     $db->dbname;    

 

以上是关于对Thinkphp的命名空间的理解的主要内容,如果未能解决你的问题,请参考以下文章

对Thinkphp的命名空间的理解

ThinkPHP5.0对MVC的理解,引入控制器,静态页,静态常量!

解决在ThinkPHP控制器中命名空间的问题

新手使用ThinkPHP3.2.3的命名空间问题

2)thinkphp的带有命名空间的自动加载机制

thinkphp 5.0 命名空间