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()这个方法 一个对象去访问 ...
随机推荐
- list 字符串拼接效率实验
ist 字符串拼接有多种方法,我就其中常用三种做了实验,实验代码如下: 第一次是为了初始化静态方法,后面的才是效率比较. 结果如下: StringUtils join 方法用的是StringBuild ...
- PHP 求两个日期之间相差的天数、月数
<?php /** * 求两个日期之间相差的天数 * (针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day ...
- BootStrap【二、样式】
H5文档类型 由于使用了H5和CSS熟悉,需要在文件头引入 移动设备优先 为了对移动设备友好,需要使用标签viewport width=device-width 宽度为设备宽度 height 高度 i ...
- Flutter——ListView组件(平铺列表组件)
ListView的常见参数: 名称 类型 说明 scrollDirection Axis Axis.horizontal 水平列表 Axis.vertical 垂直列表 padding EdgeIns ...
- NORDIC 错误文件
ble_err.h sdk_errors.h nrf_error.h app_error.h
- SQL SERVER 常用函数 学习笔记
1.字符串截取.字符串转数字 --Server.8.30 select SUBSTRING('SqlServer_2008',4,6) as DB, CONVERT(float,SUBSTRING(' ...
- shell字符串处理
一.字符串切片: ${#var}:返回字符串变量var的长度${var:offset}:返回字符串变量var中从第offset个字符后(不包括第offset个字符)的字符开始,到最后的部分,offse ...
- Linux环境下安装MySQL5.7
记录一下Linux环境下安装MySQL,大家按顺序执行即可,5分钟内即可完成安装,亲测可行.不过下载MySQL安装包需要大家花费一些功夫,送个链接给大家,大家按需下载: https://dev.mys ...
- ios的uc浏览器图片加载不出来原因
最近做一个落地页发现一个在ios设备上uc浏览器的bug 在uc浏览器开启广告过滤的时候,会把图片过滤掉,无论是背景图还是img标签加载的图片 经过搜索与实验,发现广告过滤的设置关掉就可以,可是一般情 ...
- BZOJ 3895 3895: 取石子 / Luogu SP9934 ALICE - Alice and Bob (博弈 记忆化搜索)
转自PoPoQQQ大佬博客 题目大意:给定n堆石子,两人轮流操作,每个人可以合并两堆石子或拿走一个石子,不能操作者输,问是否先手必胜 直接想很难搞,我们不妨来考虑一个特殊情况 假设每堆石子的数量都&g ...