【问题标题】:Codeigniter: Extending controller to create global methodsCodeigniter:扩展控制器以创建全局方法
【发布时间】:2015-10-09 00:52:49
【问题描述】:

我安装了Bed Edmund's Ion Auth login script 并希望在我的应用程序中使这些功能成为全局的。

我安装了代码,它运行良好,但我在扩展它时遇到了问题。 ion Auth 控制器扩展了 CI_Controller,所以我在所有其他控制器中扩展了 Auth。

//Ion Auth Controller Class
class Auth extends CI_Controller {

在单独的页面中:

//Home Page Controller Class, where I will be placing the login form
require_once("auth.php");
class Home extends Auth {

通过这样做,我得到以下 PHP 错误:

Message: Assigning the return value of new by reference is deprecated

我在 CodeIgniter 文档中读到扩展类现在必须以 MY_ 开头,所以我也尝试了,但没有成功。

我做错了什么?难道我的逻辑全错了吗?

【问题讨论】:

  • 应该可以作为库加载。我也使用 MY_Controller 并且按照文档没有问题

标签: php codeigniter class model-view-controller


【解决方案1】:

在 Auth 类源代码(您安装的那个)中为 =& 执行 CTRL-F,并将每个实例替换为 =

$foo =& new Bar(); 是在 PHP4 中使用但在 PHP5 中不再使用的不推荐使用的语法。

【讨论】:

  • 不幸的是,搜索 =& 在 Auth 控制器中没有返回任何内容。
  • 不在控制器内部;在插件的源代码中。 @steeped
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-22
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
相关资源
最近更新 更多