Yii 获得当前控制器和方法】的更多相关文章

[怎样获得当前控制器和方法] 控制器:$this -> id ; 方法:$this->action->id ; 这主要是用在视图中,进行高亮显示. <div id="mainNav" class="clearfix"> <a href="./" <?php if($this->id == 'index')echo "class='cur'"; ?>>首页<spa…
最近的一个项目碰到这种问题,摸索出了解决办法,故此记录下 example 如果控制器为 ShopCollect 方法为 UserList solution 请求的链接应该为 doman.com/shop-collect/user-list 在控制器的behaviors方法actions里方法名也要进行相应的改写 user-list (如果没有进行访问控制的这条可以不用考虑) 控制器名和方法名这里只是举例说明,请根据需要自行替换…
在使用YII2中自带的RBAC时,需要先配置config/web.php: return [ // ... 'components' => [ 'authManager' => [ 'class' => 'yii\rbac\DbManager', ], // ... ], ]; 如果你需要运行yii migrate来创建表,那么config/console.php也需要同上面一样配置一下. cmd进入项目目录,运行如下命令: yii migrate --migrationPath=@yi…
跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController();  用绝对路径找echo $sc->ShuChu(); 2. $sc=new IndexController();  用相对路径 echo $sc->ShuChu(); 还可以使用thingkphp中的快捷方法 1. $sc=A("Index");      使用TP框架的快捷方法A来创建控制器对象  ()内直接写控制器名 [跨模块调用]…
昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController extends HomebaseController { public function judge(){ ...... $this->display("xxxxxxx"); } } 1.这是调用了父类的display方法,看一下HomebaseController有没有此方法,发现有, cl…
今天发现控制器的方法失效了,用了排除法,找了长时间的原因,都没有找出来,后来干脆把home模块中的控制器和视图文件都复制到bbs模块下,竟然也不行. 这说明了控制器和视图没有问题,一定是模块的配置有问题,后来差一点要删除模块重新建了. 后来在模块的配置文件中,发现了原因,原因就是: <?php return array( //'配置项'=>'配置值' 'ACTION_SUFFIX' => 'Action', // 操作方法后缀 ); 这个妖精造成的,看来我还是不熟悉ACTION_SUFF…
object顶级类class object 第一级抽象类controllerabstract class controller extends object 第二级抽象类controller_abstract 继承controller 祖父类 abstract class controller_abstract extends controller cmstop.php主程序 设置属性public $app, $controller, $action用来接收并保存当前请求的模块,控制器,和方法实…
DELL MD3200i存储控制器解锁方法 现有一台DELL MD3200i存储,因种种原因导致控制器被锁定,这里是刚出厂的一台存储,出现这个问题让我们都很困惑,只能怀疑DELL公司的问题. 这台存储只有一个控制器,默认的MGMT口IP地址为192.168.128.101,将笔记本网口地址配置为同一网段,如192.168.128.105,掩码配置为24位,即255.255.255.0,使用直通网线将笔记本网口和存储控制器MGMT口连接,ping通后,使用DELL MDSM软件连接,选择手动添加存…
TP框架的访问控制,默认模块.控制器.方法等 在tp框架中,config文件夹下的app.php文件可以设置默认的空模块名,默认的空控制器名. 举例:以上项目中有admin.common.api.error.http.index.install(安装完成应删除)等模块,若访问到一个不存在的模块,则路由会跳到index模块里. 例如:项目域名为www.test.com   访问:www.test.com/abc/index       由于项目中不存在abc模块,所以路由会自动跳转到www.tes…
我的思路是: 读取控制器文件夹下的所有 php 文件 获取父级的控制器的方法的不应该出现在每个控制器的路由中,所以需要排除父级控制器的方法 读取 控制器文件夹下的 php文件的类名和方法 下面的代碼是在控制器中的1個方法 public function test(){ $controller_path = APPPATH . 'controllers/'; $controller_files = glob($controller_path.'*.php'); $ignore_controller…
.NET Core 反射获取所有控制器及方法上特定标签 有个需求,就是在. NET Core中,我们想在项目 启动时,获取LinCmsAuthorizeAttribute这个特性标签所有出现的地方,把他的参数,放入一个集合并缓存起来,以便后面使用此数据用于权限验证. 我们通过反射获取所有控制器下及方法的Attribute. LinCmsAuthorizeAttribute是什么 其代码非常简单,用于自定义权限验证,通过重写OnAuthorizationAsync方法,实现固定权限可分配给动态角色…
<?php namespace app\admin\controller; use think\Controller; use think\Request; class Base extends Controller { // public function __construct(Request $request = null) { //判断用户是否登录 if (!session('?admin_id')){ $this->error('请先登录','/admin/login/login')…
在控制器里 $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…
如果模块名称或者控制器名称或者动作名称是用的骆驼格式的命名写法,那么路由里面的每个大写单词之间都要用“-”来连接.如 DateTimeController::actionFastForward 相应的路由为 date-time/fast-forward. 例如:http://dfms.com/backend/web/api-test/test-upload api-test是控制器名字 test-upload是方法名字…
在介绍四大对象的那篇博客中,可以基本了解到程序启动的过程: main-->UIApplicationMain-->创建UIApplication的实例和app代理AppDelegate的实例并设置好代理--->在程序启动后,也就是启动画面显示之后, AppDelegate创建UIWindow(可以是自动创建的,也可以手动创建) 现在讨论的问题是,如何创建控制器并设置为UIWindow的根控制器,然后加载出控制器中的view并显示出来. 本文目录 1.创建控制器的三种方式 2.控制器的vi…
  6.1 Controller接收浏览器数据   a.获取Get数据 : a1:获取路由url中配置好的制定参数: 如配置好的路由: 浏览器请求路径为: /User/Modify/1 ,MVC框架获取请求后,就会找到匹配的路由映射路径url,得知是请求的控制器类 User里的Modify方法,此时就会检查此方法是否包含一个名为 id 的参数,如果有,按照配置的url 获取"参数"{id},并传给此方法. a2.直接通过请求上下文对象里的 Request获取url ?后的的参数: 浏览…
(1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Controller文件夹下创建   和控制器类名  相同  的文件夹    (该文件夹即代替原来的控制器) (3)在新建的文件夹下书写方法类(该类即代替原来的控制器下的方法) <?php namespace Home\Controller\Index; //命名空间具体到类名(代替类的文件夹) use Think\…
public function role() { $ci= &get_instance();//ci控制器超级对象,就是把所有执行的方法打印出来 $directory = substr($ci->router->fetch_directory(),0,-1); //分组目录 $controller = $ci->router->fetch_class(); //当前控制器 $function = $ci->router->fetch_method(); // 当…
 所谓跨控制器调用,指的是在一个控制器中调用另一个控制器的某个方法.在ThinkPHP中有三种方式实现跨控制器调用: 直接实例化: A()函数实例化; R()函数实例化. (1)直接实例化  直接实例化就是通过new关键字实例化相关控制器,例如: $goods = new GoodsController() //直接实例化Goods控制器类 $info = $goods->info(); //调用Goods控制器类的info()方法 需要注意的是,如果实例化的控制器与当前控制器不在同一目录下,需…
Yii2框架可以通过两种方式 安装 : 第一种方法: Yii2有两个模板 一个是基础模板,一个是高级模板,基础可能简单点吧.........,现在直接从   https://github.com/yiisoft/yii2-app-advanced   下载 高级版  ,例如放在yiitest目录下 这是在windows 下 安装 ,点击 init.bat 或者init 这个我忘记了.......这是初始化我们的应用,初始化是在你创建的yii2test目录下 或者执行cmd init命令 选0 y…
### 在视图上,想删除某个数据,而控制器是使用了resources controller的 那么在删除数据的时候,还是有些需要注意的地方 ### 视图上: <a href="javascript:;" class="btn btn-xs btn-default-bright deluser" data-url="{{ action('Admin\AppointmentsController@destroy', $appointment->id…
1.定义事务处理接口 <?php namespace frontend\business\SaveRecordByransactions; /** * Interface ISaveForTransaction 事物提交接口 * @package frontend\business\RewardTransactions */ interface ISaveForTransaction { function SaveRecordForTransaction(&$error,&$outI…
项目需要,在使用KendoUI,又涉及到jsonp数据格式的处理,网上看到这样一种实现方法,在此小记一下(其实是因为公司里只能上博客园等少数网站,怕自己忘了,好查看一下,哈哈哈) 1. 新建控制器扩展类 ContollerExtensions.cs public static class ContollerExtensions { public static JsonpResult Jsonp(this Controller controller, object data) { JsonpRes…
很多人都是在视图里面定义方法,然后再使用.我个人也是这么干的.但是为了验证是否可以将方法从控制器传递到视图,所以做了个测试.结果真的可以.原理是利用了委托(delegate),因为委托本身就是一种类型.既然是类型,那么就有实例.有了实例就可以作为View()方法的参数传递到视图. 下面贴代码: ActionResult: public delegate string MyDelegate(string content); public ActionResult DelegateTest() {…
php artisan make:controller Admin\ArticleController --resource 上面的创建方法是,创建控制器文件夹下的Admin文件下的ArticleController控制器(资源路由的控制器) 资源路由控制器的七个方法: <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Contr…
6.1 Controller接收浏览器数据 a.获取Get数据 : a1:获取路由url中配置好的制定参数: 如配置好的路由: 浏览器请求路径为: /User/Modify/1 ,MVC框架获取请求后,就会找到匹配的路由映射路径url,得知是请求的控制器类 User里的Modify方法,此时就会检查此方法是否包含一个名为 id 的参数,如果有,按照配置的url 获取“参数”{id},并传给此方法. a2.直接通过请求上下文对象里的 Request获取url ?后的的参数: 浏览器请求路径为:/U…
AngularJS 控制器也有方法(变量和函数) <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="X-UA-Compatible"content="IE=edge" /> <meta…
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'){ /…
用法: $a = action('admin/user/detail',['id'=>10]); var_dump($a) 表示在其他控制器调用user控制器的detail方法,传了一个参数id…
1.前言 为什么我们要隐藏部分接口? 因为我们在用swagger代替接口的时候,难免有些接口会直观的暴露出来,比如我们结合Consul一起使用的时候,会将健康检查接口以及报警通知接口暴露出来,这些接口有时候会出于方便考虑,没有进行加密,这个时候我们就需要把接口隐藏起来,只有内部的开发者知道. 为什么要分组? 通常当我们写前后端分离的项目的时候,难免会遇到编写很多接口供前端页面进行调用,当接口达到几百个的时候就需要区分哪些是框架接口,哪些是业务接口,这时候给swaggerUI的接口分组是个不错的选…