thinkphp5实现多级控制器】的更多相关文章

默认情况下目录结构 application ->admin->controller->class.php 当项目比较多的时候,目录下控制器文件较多,考虑按模块增加一层目录 application->admin->controller->blog->class.php 此时,名称空间需为 app\admin\controller\blog; 访问路径 admin/blog.class/index 以上路径可以访问控制器,但是加载默认视图,会去找这个路径 admin/…
thinkphp5多级控制器是什么?怎么使用? 一.总结 1.多级控制器是让控制器的级数变成多级,也就是controller目录下可以新建其它目录. 2.使用的话注意目录下的控制的的命名空间(加上目录名)(namespace app\index\controller\one;)和访问方式(文件名.控制器名)(http://serverName/index.php/index/one.blog/index)(不开自动定位控制器的情况) 二.多级控制器 新版支持任意层次级别的控制器,并且支持路由,例…
1.多层控制器 ThinkPHP的控制器支持多层和多级,多层指的是控制器可以分层,例如除了默认的Controller控制器层(我们可以称之为访问控制器),还可以添加事件控制器(层),例如: ├─Controller 访问控制器 ├─UserController.class.php ├─BlogController.class.php ├─Event 事件控制器 ├─UserEvent.class.php ├─BlogEvent.class.php 访问控制器的名称是通过DEFAULT_C_LAY…
发开api时,经常会用到thinkphp的多级控制器,访问方法如下: 例如:有v1和v2两个版本的接口 v1:版本控制器(类文件位置为:application/api/controller/v1/User.php)代码如下: <?php namespace app\api\controller\v1; use app\api\model\User as UserModel; class User{ $user = UserModel::get($id); if($user){ return js…
http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配符就是 3那么我们进入正题修改他的寻找视图的规则让他能够按照我们的规则来访问就像修改路由一样 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来存放. 1.那么我们再来看我们需要的访问方式,如下图 如果我们要访问Admin下的TestController…
今天碰到了一个比较坑爹的问题,我的控制器的名字是用驼峰命名的,但是却给我报错,如下: 怎么解决呢? 看我的视图,同样是驼峰命名,此时只要将其改为auth_group这样的方式就可以了. 注意:url地址栏访问的方式是也是需要下划线这种方式. 那如果要用驼峰命名来访问应该怎么办呢?找到config.php文件,然后这样改就OK了…
路由: Route::get('', 'v1\\UserController@index'); 文件夹分层 User控制器命名空间: namespace App\Http\Controllers\v1;…
public function _initialize() { parent::_initialize(); } public function __construct() { $; parent::__construct(); } 和构造方法一样,但是在thinkphp中,是先实行 _initialize()方法再实行__construct()方法! 记得继承父类的构造方法! 不然他先一本类的构造方法为最优先,不会理会之前写的,跟初始化控制器也是一样. 如果你要在初始化控制器上或者初始化方法上…
1.那么我们再来看我们需要的访问方式,如下图 如果我们要访问Admin下的TestController里面的Index页面,那么我们输入Test/Index,这个肯定不行的.因为TestController根本就不在Controllers的根目录下,而是在Controllers/Admin下,这样我们根本就找不到Test这个Controller.那么我们输入Admin/Test/Index,那么我们就需要添加一个路由配置了,因为以前的默认路由只能通过{Controller}/{Action}/{…
转自:[原]Asp.net Mvc   多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来存放. 1.那么我们再来看我们需要的访问方式,如下图 如果我们要访问Admin下的TestController里面的Index页面,那么我们输入Test/Index,这个肯定不行的.因为TestController根本就不在Controllers的根目录下,而是在Controllers/Admin下…
// 定义应用目录 define('APP_PATH', __DIR__ . '/../app/'); // 定义配置文件目录和应用目录同级 define('CONF_PATH', __DIR__.'/../config/'); // 修改应用类库命名空间(默认是app) 5.08+版本 define('APP_NAMESPACE','app'); 定义: //application\index\controller\Index.php namespace app\index\controlle…
tp5的唯一可访问目录是public,即项目根目录: http://localhost/tp5/public/ 开发规范: 类库.函数文件统一以.php为后缀 类(命名和路径)和命名空间保持一致 类文件采用驼峰法命名,首字母大写(类文件名 = 类名),其它文件用小写+下划线 方法和属性,采用驼峰法命名,首字母小写 常量,大写字母+下划线 配置参数,小写字母+下划线 应用类库的根命名空间统一为app,不建议更改 如果你的应用下面只有一个模块,那么这个模块的子目录可以省略,并设置参数: 'app_m…
漏洞描述 由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell. 漏洞评级 严重 影响版本 ThinkPHP 5.0系列 < 5.0.23ThinkPHP 5.1系列 < 5.1.31 安全版本 ThinkPHP 5.0系列 5.0.23ThinkPHP 5.1系列 5.1.31 ThinkPHP5.*版本发布安全更新 本次版本更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强…
漏洞描述 由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell. 漏洞评级 严重 影响版本 ThinkPHP 5.0系列 < 5.0.23ThinkPHP 5.1系列 < 5.1.31 安全版本 ThinkPHP 5.0系列 5.0.23ThinkPHP 5.1系列 5.1.31 ThinkPHP5.*版本发布安全更新 本次版本更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强…
控制器和操作 一般来说,ThinkPHP的控制器是一个类,而操作则是控制器类的一个公共方法. 下面就是一个典型的控制器类的定义: <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function hello(){ echo 'hello,thinkphp!'; } } Home\IndexController类就代表了Home模块下的I…
-------------------------------------(写代码不孤独_小小代) 用Onthink写了一个网站暂时还没上线功能略显不全没,完全没有发挥出应有的强大拓展之处,各种地方略显蹩脚. 但是其强大的数据表控制还是显漏一角,鉴于此进军基于开发的thinphp3.2.2世界... 第一天 完成手册序言,基础,配置,架构,路由阅读. 第二天 完成控制器模型阅读   关于 附录阅读 下面是阅读随录 *****************************************…
PHP常识 1.谈谈你对MVC的认识,介绍几种目前比较流行的框架 由Model(M),View(V),Cntroller(C) 组成的一种设计模式,Model 主要处理一些业务处理类,View是页面显示页,直接在浏览器输出,Controller是桥接M和V,由它收到V的请求,调用相应的model类再把结果返还给视图,右视图输出给用户. 2.HTML表单中GET和POST提交方法的区别 GET提交方式是http协议,把要提交的值附在url后面,因此这种方式保密性不是很好,且有长度限制,最长8192…
我用了一天时间学会了php,真的.我现在已经可以流畅的用thinkphp框架开发php了.学习过程是这样的:我接了个php的项目,包括两个部分:老系统添加功能和优化,再新做一个系统.已经答应给人家做了,所以“嘣”一声,我就会了.逼上梁山,没有做不了的事.我接到活儿,白天一整天没能把环境跑通,但是我边想边联系了好几个做php的兄弟.当我自己可以将问题问题定位了,也晚上了,估计大家也都有空了.我开始有针对性的问他们问题.最后一个问题是关于nginx配置的,问了好多php大牛的兄弟都说我配置的没有问题…
杂项 系统中的电感线圈元件, 虽然不消耗电能, 但是会 占用系统的容量(相当于占用资源但是不做事), 会使系统 的发电量的使用效率降低, 线路损耗增大, 发出同样有功用电量所需的设备容量扩大 将感性元件和容性元件串接在一起的好处是: 感性负载电流 的相位 落后 系统电压(这个是作为参考电压使用的) 90度(理解: "电场先被线圈铁芯吸收, 转变为磁能 然后才有电流, 所以 电感电流的相位更落后"), 而容性负载电流的相位比 系统电压 提前 90 度, 所以 两者如果串联的话, 刚好抵消…
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性.并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性.扩展性和性能方面不断优化和改进. ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为Th…
m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台的话,就是接收这个ajax传过来的请求,然后传递数据过去就可以了, 下面这句话有判断是不是ajax请求,其实ajax非常简单:前台要做的事情就是发送ajax请求过来,而就是应该用jquery的方法 后台的话,就是接收这个ajax传过来的请求,然后传递数据过去就可以了, 只不过在thinkphp里面还…
一个完整的ThinkPHP应用基于模块/控制器/操作设计,并且,如果有需要的话,可以支持多入口文件和多级控制器. ThinkPHP3.2采用模块化的架构设计思想,对目录结构规范做了调整,可以支持多模块应用的创建,让应用的扩展更加方便. 一个典型的URL访问规则是(我们以默认的PATHINFO模式为例说明,当然也可以支持普通的URL模式): http://serverName/index.php(或者其他应用入口文件)/模块/控制器/操作/[参数名/参数值...] ThinkPHP3.2的应用可以…
MY_Router.php 放到 system/application/libraries 目录下,就可以让 CI 的控制器支持多级子目录了.这样,你就可以在 system/application/controllers 目录下放置更多级别的目录,访问的方式就是 index.php/目录1/目录2/目录3/控制器/方法/参数请注意,你不需要 load,因为这个类是系统自动 load 的. MY_Router.php 代码 <?php if ( ! defined('BASEPATH')) exi…
在建立网站的时候,你通常想着把一些共有的方法提取出来,放入一个控制器内,如果你是将业务逻辑写入了构造函数里面,那么就得注意了. 在thinkphp5.0当中,有一个初始化的方法,类似于构造函数,那就是_initialize(). 但是如果你在父类和子类当中同时使用该方法时,会将父类的_initialize()方法覆盖掉. 如下:我贴出部分代码: class Admin extends CommonMethod { private $adminModel; public function _ini…
Thinkphp5.0 控制器向视图view的赋值 方式一(使用fetch()方法的第二个参数赋值): <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function study_view(){ return $this->fetch('study_view',[ 'id' => 1, 'name' => 'li lei', 'a…
ThinkPHP5.0框架开发--第5章 TP5.0 控制器 第5章 TP5.0 控制器 ============================================== 上次复习 1.路由 a.有利于SEO优化 b.简洁方便记忆 2.路由模式 1.普通模式(PATHINFO) http://www.tp.com/index.php/Index/Index/index 2.混合模式 支持PATHINFO和路由 3.强制模式 只支持路由模式 4.模式切换和配置文件有关 // 是否开启路…
thinkphp5空控制器和空操作 一.总结 1.空控制器和空操作用:空控制器和空操作都是为了防止网站上的用户恶意输入,网站上线的话必须加上, 2.空操作:空操作就是在一般的控制器里面加上一个 _empty()方法 3.空控制器:空控制器就是新建一个名为Error的控制器,空控制器里面也要有空方法 4.thinkphp支持命令行:thinkphp支持命令行,命令行创建的控制器可以多几个方法,和路由一一对应 5.空控制器和空操作里面的操作:都是直接重定向到index页面 二.thinkphp5空控…
这一段在用thinkPHP5开发微信小程序接口的时候,在同一个控制器一个方法中存入session,在另一个方法中取出session,一直都是无法取出. 查阅各种资料得到原因:thinkPHP5里面的session是给浏览器用的,非浏览器的方式是没有办法访问到那个session的,只能用其他方式来代替session. 对策: 1.(推荐)使用TP5自带的缓存方法 可以完美代替session,甚至可以每条手动设置时间,比session更方便, (用过tp5自带session的肯定知道,session…
入口文件index.php: // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; 引导文件start.php: namespace think; // 加载基础文件 require __DIR__ . '/base.php'; // 执行应用 App::run()->send(); 基础文件base.php: defi…
1.在application\index\controller\文件夹里新建User.php <?php namespace app\index\controller; class User{ public function index(){ return('我是User控制器的index方法'); } } 2.在application\index\controller\文件夹下的Index.php调用User的控制器 <?php namespace app\index\controller;…