TP框架的访问控制,默认模块.控制器.方法等 在tp框架中,config文件夹下的app.php文件可以设置默认的空模块名,默认的空控制器名. 举例:以上项目中有admin.common.api.error.http.index.install(安装完成应删除)等模块,若访问到一个不存在的模块,则路由会跳到index模块里. 例如:项目域名为www.test.com   访问:www.test.com/abc/index       由于项目中不存在abc模块,所以路由会自动跳转到www.tes…
在使用YII2中自带的RBAC时,需要先配置config/web.php: return [ // ... 'components' => [ 'authManager' => [ 'class' => 'yii\rbac\DbManager', ], // ... ], ]; 如果你需要运行yii migrate来创建表,那么config/console.php也需要同上面一样配置一下. cmd进入项目目录,运行如下命令: yii migrate --migrationPath=@yi…
在建立网站的时候,你通常想着把一些共有的方法提取出来,放入一个控制器内,如果你是将业务逻辑写入了构造函数里面,那么就得注意了. 在thinkphp5.0当中,有一个初始化的方法,类似于构造函数,那就是_initialize(). 但是如果你在父类和子类当中同时使用该方法时,会将父类的_initialize()方法覆盖掉. 如下:我贴出部分代码: class Admin extends CommonMethod { private $adminModel; public function _ini…
在控制器里 $name = $this->getModule()->id; // module $name = $this->getId();  // controller $name = $this->getAction()->id;  // action 在视图里,除了上述2个方法还可: $name = $this->module->id; // module $name = Yii::app()->controller->id;  // cont…
tp5.1 采用命名空间的方式进行调用.…
<?php namespace app\index\controller; use think\Db; use think\Controller; class Base extends Controller { public function _initialize(){ $no_check = array("login","login_check"); $request = \think\Request::instance(); echo $request-…
原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问”魔术方法__call()” 用户访问一个不存在的操作—>解决:给每个控制器都定义个_empty()方法来处理 第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处理__autoloa…
空操作和空模块很有实用意义,他有些类似于PHP虚拟机自定义的404页面,利用这个机制我们可以更好的实现URL和错误页面的一些优化. 一.空模块: ​         很好理解,就是当你执行不存在模块的时候,thinkphp会自动寻找该模块,当找不到该模块的时候,Thinkphp会自动定义空模块下的index方法. <?php class EmptyControl​ler extends Controller{ public function index(){ echo '<script>…
ThinkPHP5.0框架开发--第9章 TP5.0视图和模板 第9章 TP5.0视图和模板 ======================================================================== 今日学习 1.视图 a) 加载页面 1.继承系统控制器类 return $this->fetch(参数1,参数2,参数3,参数4); 参数1(字符串): 模板渲染 参数2(数组): 模板赋值 参数3(数组): 模板替换 参数4(数组): 2.使用助手函数 //…
ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1.配置文件 1.惯例配置 2.应用配置 3.扩展配置 4.场景配置 5.模块配置 6.动态配置 2.获取配置 1.Config类 config::get(); 2.config方法 config(); 3.配置文件加载顺序 惯例配置>应用配置>扩展配置>场景配置>模块配置>动态配置…