TinkPHP框架学习-04命名空间
1-----命名空间
2-----调用其他控制器的方法
3-----U()函数
一命名空间
①看做是虚拟目录
--ThinkPHP/Library 初始命名空间
--在Library文件夹下的所有文件夹都称作根命名空间,由两部分构成
|--1.Library目录下的所有文件夹
|--2.应用程序目录里面的模块名
②定义当前类的命名空间
--namespace 为当前创建的类指定命名空间 例如 namespace Home\Controller;
从文件所在的根开始写,写到他所在的文件夹为止,
ThinkPHP文件夹下的文件夹为根,或应用程序的Home以及自定义的模块下面
只要是一个类,应该在根的模块下面或者Library下面
③加载其他的类
--use 使用加载父类,例如 Think\Controller; 这是引入Library/Think/Contro.class.php
-- 使用外部类的时候加载
例如$app = new \Think\App();
第一个\代表初始命名空间,然后依次往下寻找至父类文件
④命名空间必须写在php文件的开头,他的前面不能有任何东西,session在tp框架中自动开启
博客出自"万年",地址:博客出自"万年",地址:http://www.cnblogs.com/wannian/p/9003047.html
二 扩展--调用其他控制器的方法
举例:
Home模块Controller控制器目录下的
在IndexController.class.php控制器里的index()方法中调用TestController.class.php里面的test()方法
①--
1--先在index()中造出Test类的对象
$test = new \Home\Controller\TestController();
2--访问该对象的test()方法
$test->test();
②--A(" ")方法 实例化控制器对象
1-- 造出test类的对象
$test = A(" Test "); 如果在同一个模块下不写模块名,如果不在同一个模块下则从模块开始写
2--访问对象的方法
$test->test();
三 扩展 制作url的快捷函数U()方法
生成操作方法的访问地址,参数是操作方法的名字
例如 Application\Home\Controller\TestController.class.php的test()操作方法
echo U(" test ");
输出: /i/tp/index.php/Home/Test/test.html
例如 Application\Adimn\Controller\TestController.class.php的中输出 Application\Home\Controller\TestController.class.php的test()操作方法
echo U( "Admin\Test\test" );
输出: /i/tp/index.php/Home/Test/test.html
TinkPHP框架学习-04命名空间的更多相关文章
- TinkPHP框架学习-01基本知识
1-----目录结构 2-----访问地址 3-----MVC开发 一 目录结构 |--Application 程序文件夹 |--Common 公共方法函数 |--Home 模块 |也可以自 ...
- TinkPHP框架学习-03模型类
1-----数据访问 2-----数据查询 3-----数据添加 4-----数据修改 5-----数据删除 创建一张nation表并写入三条测试数据 create table nation( `co ...
- TinkPHP框架学习-02控制器基本操作
1-----创建控制器 2-----访问视图页面 3-----注册变量到视图页面 4-----获取表单数据 一 在Home模块下创建控制器 举例: 目录tp/Application/H ...
- Spring框架学习04——复杂类型的属性注入
代码示例如下: 创建BeanClass实体类 public class BeanClass { private String[] arrs;//数组类型 private List<String& ...
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- Spring.NET依赖注入框架学习--简单对象注入
Spring.NET依赖注入框架学习--简单对象注入 在前面的俩篇中讲解了依赖注入的概念以及Spring.NET框架的核心模块介绍,今天就要看看怎么来使用Spring.NET实现一个简单的对象注入 常 ...
- go server框架学习之路 - 写一个自己的go框架
go server框架学习之路 - 写一个自己的go框架 用简单的代码实现一个go框架 代码地址: https://github.com/cw731/gcw 1 创建一个简单的框架 代码 packag ...
- Java之struts2框架学习
Java之struts2框架学习 About Struts2 Struts也是一款MVC框架 , Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全 ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
随机推荐
- 联想拯救者r720+固态浦科特M8PeGN 的bios 设置
最近笔记本左边的两个usb3.0接口都坏了,win10 报错usb端口上的电涌 真是一脸蒙B! 然后去打售后电话,说昌平没有售后,需要去海淀黄庄去维修,然后下午就去了那里,维修的人员说硬件坏了,需要1 ...
- TensorFlow - 在 windows 系统上安装
安装方式: 1.pip (将介绍) 2.Anaconda 我采用的是本地 pip 方式 需提前安装 Python - Python 3.5.x > TF 只支持 Python 3.5.x 版本, ...
- HBASE 优化之REGIONSERVER
HBASE 优化之REGIONSERVER 一,概述 本人在使用优化regionserver的过程有些心得,借此随笔的机会,向大家介绍我的心得,有些是网上拿来的有些是自己在使用过程自己的经验,希望对大 ...
- 20165308『网络对抗技术』Exp5 MSF基础应用
20165308『网络对抗技术』Exp5 MSF基础应用 一.原理与实践说明 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实 ...
- gradle 打包springboot项目,找不到项目jar application.class
如题:gradle 打包springboot项目,找不到项目jar入口main方法:application.class 检查:lib/目录下没有相应项目的jar包 用gradle命令行查看日志:gra ...
- 梯度消失(vanishing gradient)和梯度爆炸(exploding gradient)
转自https://blog.csdn.net/guoyunfei20/article/details/78283043 神经网络中梯度不稳定的根本原因:在于前层上的梯度的计算来自于后层上梯度的乘积( ...
- 【mark】OS是否使用svc方式分开系统空间和用户空间的优劣
对于Cortex-M单片机,用户程序调用RTOS系统函数有两种思路: 假设创建任务的RTOS函数是xxx_task_create() 第一类:FreeRTOS.RT-Thread中采用的方法,和调用普 ...
- Centos 7 LVM xfs文件系统修复
Centos 7 LVM xfs文件系统修复 今天一大早,zabbix开始报警了,一台linux主机出现问题. 登陆控制台查看,报如下错误. 解决方法如下: ls -l /dev/mapper xfs ...
- sql server 合并字段
合并字段用+号连接就可以了,不过要判断是不是有的合并项为NULL.如果其中一项为NULL,则整个合并字段为NULL. (IsNull(a.supplier, '') + IsNull(a.po, ' ...
- 浏览器F12(开发者调试工具) 功能介绍
调试时使用最多的功能页面是:元素(ELements).控制台(Console).源代码(Sources).网络(Network)等. 元素(Elements):用于查看或修改HTML元素的属性.CSS ...