tp命名空间

Posted palpitate

tags:

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

 

namespace   Home\\Controller;  命名空间   根命名空间下的类所在的文件夹
use Think\\Controller; 使用   根命名空间下的controller类

顶头写写在php后面不加任何空格及代码

命名空间:虚拟目录
目的:自动加载类

初始命名空间:Library(公用的,为了保证他的完整性,一般不往这里面写)

根命名空间:
    1.Library下的所有文件夹
    2.应用程序的模块名(home)

命名空间的写法(反斜杠):\\
    从根命名空间开始写,写到该类所在的文件夹为止。
    
如何使用命名空间:
    1.从根命名空间开始写,写到类名为止。
    2.new \\Home\\Lib\\DBDA();

例如:引用DBDA类(因为library是公用的,放在这里吗就是所有的都用,所以一般不放在library里放入Home里就行)

 
<?php
namespace Lib;//加这个
class DBDA{

 

 
<?php
namespace Home\\Controller;
use Think\\Controller;
class LoginController extends Controller{
    public function login(){
         
        $db new\\Lib\\DBDA();
        var_dump($db);
             
        //向TP里面注册变量
        $this->assign("ceshi","张三");
        //显示模板
        $this->show();
    }
    public function chuli(){
        echo $_POST["uid"];
    }
}

 

换个文件夹  把dbda放在home模块里

 
namespace HOME\\Lib;
class DBDA{

 

 
<?php
namespace Home\\Controller;
use Think\\Controller;
class LoginController extends Controller{
    public function login(){
         
        $db new\\Home\\Lib\\DBDA();
        var_dump($db);
             
        //向TP里面注册变量
        $this->assign("ceshi","张三");
        //显示模板
        $this->show();
    }
    public function chuli(){
        echo $_POST["uid"];
    }
}

另一种写法

 
<?php
namespace Home\\Controller;
use Think\\Controller;
use Home\\Lib\\DBDA;
class LoginController extends Controller{
    public function login(){
         
        $db new  DBDA();
        var_dump($db);
             
        //向TP里面注册变量
        $this->assign("ceshi","张三");
        //显示模板
        $this->show();
    }
    public function chuli(){
        echo $_POST["uid"];
    }
}

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

PHP TP命名空间

TP命名空间

TP框架 命名空间 与第三方类

Tp框架之命名空间

关于TP框架的命名空间

tp5 加载 extend 类库的方法 (有命名空间和没有命名空间的调用)