ThinkPHP空操作与命名空间
命名空间:
相当于一个虚拟的目录
正常管理文件使用文件夹--物理区分
TP框架的初始命名空间是:ThinkPHP\Library
在TP框架下命名空间里面使用\代表的是初始命名空间(ThinkPHP\Library)
1.系统目录下根命名空间是ThinkPHP\Library下面的文件夹名称命名的
2.模块的根命名空间是以模块名命名的
在定义命名空间的时候需要从根写起例如:Home\Controller 例如:Think\Model
如果要使用某个类文件,引入该类命名空间的时候:
使用use关键字,后面写该类的命名空间 后面加上 "\文件名"
如果不想引入命名空间:在造类的对象的时候可以使用\(初始命名空间)来找到对应的类
例如:new \Think\Page(30);
空操作
当访问的方法不存在时,可以定义一个empty方法来避免空操作
function _empty()
{
echo "网页不存在,请检查地址信息";
}
这样当访问不存在的方法时就会显示以上信息
当访问的控制器不存在时,可以定义一个空操作器
<?php
namespace Home\controller;
use Think\controller; class EmptyController extends Controller
{
function _empty()
{
echo "访问的页面不存在!";
} }
这样当访问不存在的控制器时就会显示以上信息
跨控制器调用方法
Main控制器下:
function ShuChu()
{
//造对象
$index = new IndexController();
echo $index->ShuChu(); //使用A方法造对象
$index = A("Index");
echo $index->ShuChu(); //使用R方法,造对象并且调用某个特定方法
echo R("Index/ShuChu");
}
Index控制器下:
public function ShuChu()
{
echo "教务管理系统";
}
跨模块调用方法
Home模块下:
function ShuChu()
{
$text = A("Admin/Text");
echo $text->Text(); echo R("Admin/Text/Text");
}
Admin模块下:
<?php
namespace Admin\controller;
use Think\controller; class TextController extends Controller
{
function Text()
{
echo "hello";
return "Admin模块下的操作"; }
}
ThinkPHP空操作与命名空间的更多相关文章
- ThinkPHP空操作及命名空间
空操作是指访问不存在的路径: 解决方法:在控制其中创建 _empty方法 空控制器是指访问存在的控制器: 解决方法:创建EmptyController控制器 命名空间: 初识命名空间是Library: ...
- Thinkphp 空操作、空控制器、命名空间
1.空操作 空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化. http://网址/index.php/Hom ...
- Thinkphp空操作空模块
空操作和空模块很有实用意义,他有些类似于PHP虚拟机自定义的404页面,利用这个机制我们可以更好的实现URL和错误页面的一些优化. 一.空模块: 很好理解,就是当你执行不存在模块的 ...
- thinkphp空操作和配置文件实现简化路由
1关于TP中空操作和路由问题 <?php function test(){ $content="test demo @云峰天下"; $pattern='/@(\S+)\s/' ...
- ThinkPHP空操作和空控制器的处理
所谓的空操作和空控制器,简而言之就是系统中不存在该方法或控制器,导致系统报错(本文版本3.2.3). 正确URL(测试环境): http://oa.com/index.php/admin/publi ...
- 第九十八天请假 PHP TP框架 空操作和命名空间
访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class Ind ...
- ThinkPHP通过类的链式继承优化空操作的实现
上篇<ThinkPHP空操作和空控制器的处理>中,在处理空操作时修改了父类Controller.class.php中代码,不到万不得已不能 修改基类控制器中的原码,此时可在子类与父类之间, ...
- thinphp讲解(三)——空操作、空控制器、跨控制器、命名空间
一.“空操作”本质意思:一个对象(控制器)调用本身不存在的操作方法 一般网站处于安全考虑不给用户提示任何错误信息 在tp里面控制器controller.class.php里有个_call()方法 所以 ...
- Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)
原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问 ...
随机推荐
- AD转换 XPT2046
应用电路 引脚功能描述 控制位命令 控制字节各位描述 单端模式输入配置 差分模式输入配置 掉电和内部参考电压选择 应用电路 AIN0:检测转换电位器模拟信号,控制字命令寄存器值为0x94或者0xB4 ...
- S/4HANA中的销售计划管理
大家好,我所在的S/4HANA Sales(SD)成都研发团队,主要负责S/4HANA里销售模块相关的标准产品研发. 作为产品研发团队,我们遵循SCRUM迭代式增量软件开发过程,以两个星期为一个迭代, ...
- Supervisor进程管理配置使用
Supervisor进程管理 在后台应用中,有时候程序进程会异常中止退出,如果没有一个守护进程去守护这个应用进程我们就需要及时发现并重启进程.如果每一个应用进程都写一个自己的守护进程难免会比较麻烦,而 ...
- C# UdpClient使用
客户端: public class UdpClientManager { //接收数据事件 public Action<string> recvMessageEvent = null; / ...
- 《黑白团团队》第九次团队作业:Beta冲刺第一天
项目 内容 作业课程地址 任课教师首页链接 作业要求 团队项目 填写团队名称 黑白团团队 填写具体目标 认真负责,完成项目 团队项目Github仓库地址链接. 第一天 日期:2019/6/24 1.1 ...
- SpringBoot集成Druid实现监控
application.properties文件完整信息 #连接数据库 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spri ...
- 自定义类似smarty模板
自定义类封装模板解析功能 原理其实比较简单,就是把html文件解析为一个超级字符串,然后把类似{{$mytitle}}这种结构的变量进行替换(str_replace)当然,实际中这样做可能导致频繁的磁 ...
- unity 用代码控制动画的播放的进度
https://answers.unity.com/questions/1225328/imported-animated-object-and-slider-tutorial.html using ...
- mysql5.7备份
一.备份准备&备份测试 1.备份目录准备 #mysql专用目录 mkdir /mysql #mysql备份目录 mkdir /mysql/backup #mysql备份脚本 mkdir /my ...
- BZOJ 2458: [BeiJing2011]最小三角形 (分治)
分治就是了. 类似于分治找最近/远点对. CODE #include <bits/stdc++.h> using namespace std; const double eps = 1e- ...