【问题标题】:codeigniter get current controller in post controller constructor hookcodeigniter 在后控制器构造函数钩子中获取当前控制器
【发布时间】:2015-10-06 10:16:51
【问题描述】:

我正在尝试在“后控制器构造函数”挂钩中获取被调用控制器的名称:

<?php
function authenticate() {
    $CI =& get_instance();
    $controller = $CI->router->class;
}

但我收到此错误消息:

遇到了 PHP 错误

严重性:通知

消息:试图获取非对象的属性

文件名:钩子/post_controller_constructor.php

行号:5

回溯:

文件:/ ... /CodeIgniter-3.0rc3/application/hooks/post_controller_constructor.php 线路:5 函数:_error_handler

文件:/ ... /index.php 线路:292 函数:require_once

有什么想法吗?

【问题讨论】:

    标签: php codeigniter-3


    【解决方案1】:
    <?php
          function authenticate() 
          {
             $CI = &get_instance();
             $controller = $CI->router->fetch_class();  //Controller name
             $method     = $CI->router->fetch_method();  //Method name
          }
    

    【讨论】:

      【解决方案2】:

      我不确定。但你可以试试这样。 fetch_class 用于获取类名,method 用于获取方法名。

      $this->router->fetch_class(); 
      $this->router->fetch_method();
      

      【讨论】:

      • 我已经尝试过了,尽管它已被弃用。不过还是谢谢你的建议。
      • 你需要做什么?别无选择。
      • 我需要它来检查用户是否在运行不在异常列表中的方法之前登录。是的,我找到了另一种方法! =)
      猜你喜欢
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多