tp框架之空方法与空控制器】的更多相关文章

对于空方法的两种方法: 1.建立一个empty模板(不建议,除非打算指定静态页面) 2.在控制器里面加一个empty方法 public function _empty() { echo "控制器不存在"; } 这样就可以避免输出错误信息 对于空控制器的方法 在同文件夹下建立一个EmptyController.class <?php namespace Home\Controller; use Think\Controller; class EmptyController exte…
访问MVC模式 方法: 在Application文件夹里新建一个文件夹Admin,在Admin里面新建与Home文件夹内相同的5个文件夹,分别为:Common.Conf.Controller.Model.View 在Common文件夹内新建控制器:DengLuController.class.php <?php namespace Admin\Controller; //新建模块需要改模块名 use Think\Controller; class DengLuController extends…
TP框架中ajax U方法不解析 ajax U方法不解析 ajax url不解析 问题: 造成问题原因: Js 存在单独的 js文件中和html分离了.造成不解析! 解决方法: 方法一:将js放到html中 方法二:隐藏域的方式 完美!…
1.获取系统常量信息 public function shuchu() { var_dump(get_defined_constants()); } 2.跨控制器或跨模块调用 function diaoyong() { //跨控制器或跨模块调用用方法 //1.造对象调用 /*$sc=new IndexController(); $sc->index();*/ //2.使用TP框架的快捷方法A来创建控制器对象 //$sc=A("Admin/Main"); //前面的Admin是文件…
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器: 然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法: 在login.html里面写入要显示的代码: 然后再次请求: [url地址大小写…
在浏览器中输入tp框架入口文件的地址,如图 要注意,localhost/后面跟的是www的下一级,tp文件的上一级,因为我直接把tp文件做成了www目录的下一级,所以我写的地址localhost后面跟的就是tp 打上目录后回车,就会出来tp的主页面,如图 再随便打上一个没有的操作方法,如 打出的这个页面,暴露了很多信息,不太安全,所以我们要控制住,. 像这种操作本来没有的,叫做空操作 要改变这种,我们可以提供一种方法 从这个目录下找 可以在这个文件中查找双下划线打头的call方法 在这个位置搜到…
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器: 然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法: 在login.html里面写入要显示的代码: 然后再次请求: [url地址大小写…
<?php namespace Admin\Controller; use Think\Controller; class DengLuController extends Controller { public function test() { //echo "这是测试的" $this->assign("a","world"); $this->show(); } } //这里面只有test方法,如果访问空的方法时,例如在浏览…
昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController extends HomebaseController { public function judge(){ ...... $this->display("xxxxxxx"); } } 1.这是调用了父类的display方法,看一下HomebaseController有没有此方法,发现有, cl…
TP框架几个重要文件:index.php,ThinkPHP.php,Library/Think/Think.class.php,Library/Think/App.class.php,conversion.php 空操作就是当用户访问不存在的方法,在控制器里声明一个_empty方法,这个方法会被自动调用,它是通过父控制Controller里的__call方法实现的. 当访问不存在的控制器的时候,要在Controller目录下新建一个Empty控制,这个控制器只需要一个_empty方法.…
一,前言 一.1)以下代码是在TP3.0版本之后,URL的默认模式=>PATHINFO的前提下进行的.(通俗点,URL中index.php必须存在且正确) 代码和讲解如下: 1.空模块解决:http://localhost:8095/index.php/Home/index/index 输入http://localhost:8095/index.php/Home23/index/index  会报错,解决 ->>> 1)在公共配置文件添加: 'MODULE_ALLOW_LIST' …
TP框架的访问控制,默认模块.控制器.方法等 在tp框架中,config文件夹下的app.php文件可以设置默认的空模块名,默认的空控制器名. 举例:以上项目中有admin.common.api.error.http.index.install(安装完成应删除)等模块,若访问到一个不存在的模块,则路由会跳到index模块里. 例如:项目域名为www.test.com   访问:www.test.com/abc/index       由于项目中不存在abc模块,所以路由会自动跳转到www.tes…
(1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Controller文件夹下创建   和控制器类名  相同  的文件夹    (该文件夹即代替原来的控制器) (3)在新建的文件夹下书写方法类(该类即代替原来的控制器下的方法) <?php namespace Home\Controller\Index; //命名空间具体到类名(代替类的文件夹) use Think\…
访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function _empty() { echo"网址输入错误"; //空方法的处理办法 } } 访问控控制器解决方法->创建一个名为EmptyController.class.php的控制器文件,在该…
ThinkPHP3.2 中空方法.空控制器和空模块的设置 1.空方法设置 问题: 当你访问一个不存在的方法的时候: 如: http://localhost/test/index.php/Home/User/getList 会报如下错: :( 非法操作:getList 错误位置 FILE: D:\phpStudy\WWW\test\ThinkPHP\Library\Think\Controller.class.php LINE: 170 解决: 只需要在控制器中写如下方法便OK. /** * 空操…
namespace app\index\controller; use think\Controller; class Login extends Controller{ //显示html页面 public function login(){ return view(); } public function check(){ $uid = $_POST['uid']; $pwd = $_POST['pwd']; if($uid == 'admin' && $pwd == '123'){ /…
1.空模块处理 如果是开启了路由 可直接找到route.php文件,具体的位置看个人放置的位置,在里面新增一个语句 '__miss__' => ['portal/index/errorMsg', ['method'=> 'get']],具体跳转地址可以自己设置 如果没有开启路由 可找到根目录/thinkphp/library/think/App.php,进行修改 2.空控制器的操作 如果config.php配置文件里面 'empty_controller'        => 'Erro…
空模块 'exception_handle' => function(Exception $e){ // 参数验证错误 if ($e instanceof \think\exception\ValidateException) { return json($e->getError(), 422); } // 请求异常 if ($e instanceof \think\exception\HttpException && request()->isAjax()) { ret…
一.“空操作”本质意思:一个对象(控制器)调用本身不存在的操作方法 一般网站处于安全考虑不给用户提示任何错误信息 在tp里面控制器controller.class.php里有个_call()方法 所以空操作有两种解决方案: ①     在对应的控制器里边制作一个方法,名称为”_empty”,这个控制器的空操作都会自动执行该方法.(推荐使用) function _empty() //解决方案一 { echo "网页不存在,请检查浏览器信息!"; } ②     给空操作的名称制作一个同名…
1.空操作 空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化. http://网址/index.php/Home/Main/login http://网址/index.php/Home/Main/hello  空操作 出现页面: 显示的错误信息过于详细,为安全以及优化页面起见,实行空操作 1.做一个_empty()方法.要在子类里面写,不要再父类里(推荐使用) function _empty() { ech…
在浏览器中输入tp框架入口文件的地址,如图 要注意,localhost/后面跟的是www的下一级,tp文件的上一级,因为我直接把tp文件做成了www目录的下一级,所以我写的地址localhost后面跟的就是tp 打上目录后回车,就会出来tp的主页面,如图 再随便打上一个没有的操作方法,如 打出的这个页面,暴露了很多信息,不太安全,所以我们要控制住,. 像这种操作本来没有的,叫做空操作 要改变这种,我们可以提供一种方法 从这个目录下找 可以在这个文件中查找双下划线打头的call方法 在这个位置搜到…
1. [代码]使用TP框架时 放在common文件夹下文件名就叫function.php ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71…
TP框架I方法详解   I方法是ThinkPHP众多单字母函数中的新成员,其命名来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:I('变量类型.变量名',['默认值'],['过滤方法'])变量类型是指请求方式或者输入类型,包括: 变量类型 含义 get 获取GET参数 post 获取POST参数 param 自动判断请求类型获取GET.POST或者PUT参数 request 获取REQUEST 参数 put 获取PUT 参数 session…
所谓的空操作和空控制器,简而言之就是系统中不存在该方法或控制器,导致系统报错(本文版本3.2.3). 正确URL(测试环境):  http://oa.com/index.php/admin/public/login  访问如下: 一:空操作处理 修改方法为loginw时报错如下: 系统默认内置报错机制:1.用户体验差  2.严重安全隐患. 查看父类控制器文件Controller.class.php,发现如下代码: 意思是说,如果调用的方法不存在但定义了_empty()方法,就会去执行_empty…
普通方法的查询: @Override public List<Map<String, Object>> selectSpentAmount(Integer MAT_TYPE_, String DEPT_CODE_, Integer YEAR_, Map<String, Object> operator) { String sql = "select MAT_NO_, sum(AMOUNT_) as SPENT_AMOUNT_ from DM_MAT_MONTH…
TP框架M方法 create方法丢失字段问题! thinkphp框架M方法 create方法丢失字段问题! thinkphp框架M方法 add方法字段丢失问题! 数据库 表新增了字段,用create方法,自动接收表单数据,造成新增字段丢失问题. 原因:TP配置项中默认开启了 字段缓存! 该此文件或者在项目中配置文件中,修改配置文件. 这个破问题搞了一天!!! 必须记录一下!!!2017年3月17日16:01:00…
HTML代码: 用户名:<input type="text" id="username"> <p style="color:red" id="warning-message"></p> JS代码: // 获取对象 var oUsername = document.getElementById('username'); var oMsg = document.getElementById('w…
Tp框架-方法中处理数据 可以使用函数过滤处理内容. $data[$key]['content_title'] = mb_substr(strip_tags($val['content']) ,0,45,'utf-8').'.....';…
// mounted: {}, 原来是 空方法 导致了 vue 的警告 !| vue.runtime.esm.js?2b0e:587 [Vue warn]: Error in mounted hook: "TypeError: handlers[i].call is not a function"…
tp框架  表单提交到当前方法,会重复执行显示部分和保存部分的代码.导致不知名的错误.…