tp命名空间
namespace Home\Controller; 命名空间 根命名空间下的类所在的文件夹
use Think\Controller; 使用 根命名空间下的controller类
顶头写写在最上面
命名空间:虚拟目录
目的:自动加载类
初始命名空间:Library(公用的,为了保证他的完整性,一般不往这里面写)
根命名空间:
1.Library下的所有文件夹
2.应用程序的模块名(home)
命名空间的写法(反斜杠):\
从根命名空间开始写,写到该类所在的文件夹为止。
如何使用命名空间:
1.从根命名空间开始写,写到类名为止。
2.new \Home\Lib\DBDA();
例如:引用DBDA类(因为library是公用的,放在这里吗就是所有的都用,所以一般不放在library里)
<?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命名空间的更多相关文章
- 对thinkphp的命名空间的理解
tp的命名空间其实就是虚拟目录,目的是为了自动加载类(不是管理文件) tp命名空间包含两部分: (1)初始命名空间:Library (2)根命名空间: a)Library文件下的所有文件夹,只含一级文 ...
- tp框架之Model类与命名空间
1.获取系统常量信息 public function shuchu() { var_dump(get_defined_constants()); } 2.跨控制器或跨模块调用 function dia ...
- tp框架命名空间
命名空间:相当于虚拟的目录在tp里面主要为了实现自动加载类 TP框架下有一个初始命名空间(相当于根目录)初始命名空间:ThinkPHP\Library 在初始命名空间下又包含很多根命名空间这些根命名空 ...
- TP框架 命名空间 与第三方类
命名空间 相当于虚拟目录 所有类文件都放在虚拟目录 功能:实现自动加载类 TP框架的命名空间要更复杂 内容=> 命名空间中定义和使用 都用\1初始命名空间 相当于 根目录 如:Library文件 ...
- Tp框架之命名空间
命名空间,相当于虚拟目录 实现自动加载类的机制 初始命名空间:Library文件夹 初始命名空间下面有很多根命名空间: 1.Library里面的文件夹 2.APP的模块文件夹 在tp框架中,只有这两个 ...
- 第九十八天请假 PHP TP框架 空操作和命名空间
访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class Ind ...
- tp框架获取常量信息、方法、命名空间
获取系统常量信息: public function ShowInFo() { var_dump(get_defined_constants(true)); //如果参数为true,则分类显示 } 在这 ...
- thinkphp 命名空间
什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色.具体举个例子,文 ...
- tp框架之分页与第三方类的应用
1.先把分页类放在根目录下,比如放在某个模块下 2.在类里面写入命名空间,注意类名的格式(类名要与里面的方法名一致) 3.在需要的方法里面按照路径进行实例化,然后就可以使用了 方法: public f ...
随机推荐
- 业界微服务楷模Netflix是这样构建微服务技术架构的
1. 如不考虑组织架构,直接切入技术架构(很多架构师的通病),则失败风险巨大. https://mp.weixin.qq.com/s/C8Rdz9wFtrBKfxPRzf0OBQ
- Scaleform 中的 3D视角相关研究
参考文献: 1.D3D中的第一人称视角 2.透视投影的原理和实现 http://blog.csdn.net/ww51xh/article/details/2910 3.深入探索透视投影变换 http: ...
- nodejs prefix(全局)和cache(缓存)windows下设置
引:在安装完nodejs后,通过npm下载全局模块默认安装到{%USERDATA%}C:\Users\username\AppData\下的Roaming\npm下,这当然是不太对的默认. 1,安装L ...
- document的全量替换、强制创建、删除
1.document的全量替换(1)语法与创建文档是一样的,PUT /test_index/test_type/id ,如果document id不存在,那么就是创建:如果document id已经存 ...
- oracle中索引快速全扫描和索引全扫描的区别
当进行index full scan的时候 oracle定位到索引的root block,然后到branch block(如果有的话),再定位到第一个leaf block, 然后根据leaf bloc ...
- 什么是ELK
为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太慢怎么办 ...
- IntelliJ IDEA Ultimate 下载与安装
一.下载 Intellij IDEA Ultimate 下载链接:https://www.jetbrains.com/idea/download/#section=windows 1.进入官网点击Ul ...
- Servlet----------在使用doGet()和doPost()是如何处理中文乱码
如果在登录界面跳转到时servlet中使用doGet()方法显示中文出现乱码时,可以添加这两行代码来解决,但这不是唯一的方法 request.setCharacterEncoding("GB ...
- python-面向对象-04_面向对象封装案例
面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对 ...
- OC照片选择器MJPhotoBrowser
图片选择器,看cocoachina发现一个有趣的框架,很好用,分享一下,其实做出该功能我之前写过一篇博客,使用转场动画写的,就是图片的手势缩放没写,有兴趣可以看看 效果图: github地址:http ...