CodeIgniter 1.7 升级到 2.1 后出现未定义的 $load 属性错误

2024-03-19

为什么在将 CodeIgniter 从 v1.7 升级到 v2.1 后出现此错误?

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Site::$load

Filename: libraries/Website.php

Line Number: 25

Fatal error: Call to a member function library() on a non-object in C:\xampp\htdocs\travel\application\libraries\Website.php on line 25

图书馆应用程序/图书馆/网站

class Website extends CI_Controller {

    public static $current_city;

    public function __construct() {

        $this->load->library('language'); // line 25
        $this->language->loadLanguage();
        $this->load_main_lang_file();
        $this->load_visitor_geographical_data();
        $this->load->library('bread_crumb');
   }
}

你忘了打电话__construct的方法CI_Controller class:

public function __construct()
{
    // Call CI_Controller construct method first.
    parent::__construct();

    $this->load->library('language'); // line 25
    $this->language->loadLanguage();
    $this->load_main_lang_file();
    $this->load_visitor_geographical_data();
    $this->load->library('bread_crumb');
}

Note:如果您要创建控制器,则应将其放置在application/controllers/,不在application/libraries/.

如果子(继承)类有一个构造函数,则不会调用父构造函数,因为您将使用子类覆盖父构造函数,除非您使用显式调用父构造函数parent::__construct();。这就是这个概念多态性 http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming in 面向对象编程 http://en.wikipedia.org/wiki/Object-oriented_programming

如果你不打电话parent::__construct();当应用程序控制器初始化时,你会丢失Loader and Core https://github.com/EllisLab/CodeIgniter/blob/2.1-stable/system/core/Controller.php#L37-L54类和$this->load永远不会起作用。

Using parent::__construct();仅当您想声明时才需要__construct()您的控制器中的方法将覆盖父级的方法。

对于模型来说也是如此,但是使用parent::__construct();在您的模型中仅记录一条调试消息Model Class Initialized,所以如果你需要知道Model什么时候初始化(在日志中),继续使用它,如果没有,请忽略它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CodeIgniter 1.7 升级到 2.1 后出现未定义的 $load 属性错误 的相关文章

  • URL 重写查询数据库?

    我试图了解 URL 重写的工作原理 我有以下链接 mysite com profile php id 23 我想用用户的名字和姓氏重写上面的网址 mysite com directory liam gallagher 然而 根据我读到的内容
  • 将来自另一个表的每行作为数组连接起来

    我正在使用 PHP 为自己编写一个电影存档脚本 我正在从 IMDb 获取电影信息并将其添加到我的数据库中 我正在使用另一个名为 链接 的表添加我选择的电影的链接 这是我用来从数据库获取电影的查询 movies this gt db gt q
  • Processmaker 中的 Jquery Ajaxing

    我正在使用一个名为 ProcessMaker 的网络应用程序 他们不支持 jquery 所以我必须自己弄清楚如何整合它 他们的论坛上有很多人试图完成它 所以幸运的是它现在已经被记录下来 如果有人愿意这样做 这里是我详细介绍了该过程的链接 我
  • Phing,调用命令将其输出放入属性中

    我有一个脚本可以查找并输出或将我当前的版本 写入文本文件 现在唯一的问题是如何将此版本号放入 PHING 属性中 现在我的 PHING 目标构建 build zip 和built tar 我希望它构建 build 1 0 0 zip 或版本
  • 获取所有多个列表框值

    我有一个多重选择列表框 我使用 javascript 在其中插入项目 在某个时刻 我需要获取所有条目的值 选定的和未选定的 我目前正在使用这段代码
  • SHA 足以检查文件重复吗? (PHP 中的 sha1_file)

    假设您想创建一个文件托管站点 供人们上传文件并向他们的朋友发送链接以供稍后检索 并且您想确保文件在我们存储文件的位置重复 那么 PHP 的 sha1 file 是否足以完成该任务 有什么理由不使用 md5 file 来代替吗 对于前端 它将
  • require_once 中的相对路径不起作用

    我有以下结构 otsg gt class gt authentication php gt database php gt user php gt include gt config inc php gt encryption php gt
  • a 是什么意思? (点)在 PHP 中做什么?

    以下命令在 PHP 中执行什么操作 string string is something which I declared in the program 就其本身而言 它根本没有任何作用 它不是有效的语法 但是 如果你有这样的事情 你会看见
  • 准备好的语句与存储过程

    如果您使用 php5 和 mysql5 使用存储过程比准备语句有实质性优势吗 我在某处读到 您可能无法从 mysql5 存储过程中获得实质性的性能提升 它们实际上并不是同一件事 对于存储过程 您的数据库逻辑驻留在数据库内部 如果多次调用准备
  • 为什么 PHP 中加密的内容与 Ruby 中加密的相同字符串不匹配?

    这是我的要求 我需要使用 AES 加密 包括随机 iv 对 PHP 中的字符串进行加密 对其进行 Base64 编码 然后对其进行 URL 编码 以便可以将其作为 URL 参数传递 我试图在 PHP 和 Ruby 中获得相同的结果 但我无法
  • phpunit 避免模拟的构造函数参数

    有什么方法可以避免 phpunit 调用模拟对象的构造函数 否则我需要一个模拟对象作为构造函数参数 另一个模拟对象作为构造函数参数 等等 api 似乎是这样的 getMock className methods array array ar
  • mod_fcgid + PHP + apache 锁定

    我正在运行一个相当典型的 LAMP 堆栈 其中 PHP 通过 mod fcgid 运行 考虑到服务器收到的流量 我认为服务器处于 高负载 状态 存在一个间歇性问题 当访问依赖 PHP 的站点时 Apache 报告所有连接都处于 正在发送内容
  • 设置快捷方式以替换 VIM 中轻松选择的字符串

    我有很多 php html 文件 其中包含许多应该使用 gettext 国际化的字符串 因此 我必须遍历每个文件 找到 消息 字符串并将每个字符串替换为 I use vim and would like to setup a shortcu
  • 比较两个值顺序不同的数组

    有没有一种快速的方法来做这样的事情比较具有相同值但顺序不同的两个数组 https stackoverflow com questions 15709494 compare two arrays with the same value but
  • 使用 CURL post 方法的 Google 翻译 API

    有人有过使用 Google 翻译 API v2 在 POST 方法上使用 PHP CURL 翻译 HTML 的经验吗 我已经尝试了 github 上的几个代码和库 但没有一个适合我 我发现的是 GET 方法 由于通过 GET 或查询字符串解
  • 使用 wp_read_audio_metadata()

    我正在尝试从 WordPress 中的 mp3 文件获取一些元数据 特别是长度变量 这是我的一些代码 这里没有显示 但我已经包含了 wp admin includes media php 文件 当我查看我的页面时http beta open
  • 在 Laravel 5 中创建“设置”模型的最佳实践是什么?

    这是我使用 Laravel 的第一个项目 我从 5 2 开始 我正在建立一个自我管理的网站 有一个管理员应该保存网站设置以供以后在网站中使用 例如 背景颜色 社交网络 图片轮播 产品等 我的第一次尝试是创建一个模型 设置 id key un
  • 什么是 PHP 中的呼叫转移和静态呼叫或后期静态绑定? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我从网站上获得了一个代码示例 但我很难理解输出 我正在分享代码 class A public static function foo
  • 在进程注册后显示 div,woocommerce

    在网站注册过程后 我想显示一个隐藏的div div 位于同一页面中 但注册后 页面将加载并显示相同的页面 这是表单处理程序 php public static function process registration nonce valu
  • array_search 返回错误的键[重复]

    这个问题在这里已经有答案了 我有这个数组 ar key1 gt John key2 gt 0 key3 gt Mary 并且 如果我写 idx array search Mary ar echo idx I get key2 我在网上搜索过

随机推荐

  • 使用“lapply”对数据框 (R) 中的所有列进行缩排序

    我正在尝试应用Winsorize 函数使用lapply来自library DescTools 包裹 我目前拥有的是 data col1 lt Winsorize data col1 这本质上用基于分位数的值替换了极值 替换了以下数据 gt
  • 在Python中解析日期字符串

    我如何重写以下子句 if u in date category title month 1 elif u in date category title month 2 elif u in date category title month
  • Firefox 和 Chrome 填充之间的区别

    Firefox 和 chrome 在 css 中渲染填充的方式有所不同 在 Chrome 中显示正确的内容在 Firefox 中进行了额外填充 有办法解决吗 button font family helvetica arial font s
  • ({"key": "value"} = {}) 语法在 JavaScript 函数中的含义是什么

    我正在学习 JavaScript 课程 特别是 MongoDB 大学 M220JS 课程 在其中一个任务中 我遇到了类内函数声明的语法 static async getMovies filters null page 0 moviesPer
  • Azure Functions 绑定重定向

    是否可以在 azure 函数文件夹结构中包含 web config 或 app config 文件以允许程序集绑定重定向 假设您正在使用最新的 2017 年 6 月 Visual Studio 2017 函数工具 我根据以下发布的代码片段得
  • 如何将整个表格视图捕获为图像,从中创建 .pdf 并通过电子邮件发送

    这是我第一次尝试在 iOS 中创建 pdf 文件 我有一个表格视图 它生成我想要在 pdf 文件中呈现的所有数据 这是我的代码 用于将整个表格捕获为图像 从图像生成 pdf 并通过电子邮件发送 IBAction save id sender
  • PRG 模式是否有一个在验证失败时不会重定向的名称?

    我的网站遵循重定向后获取模式 似乎有两种方法可以处理失败的验证 任何一个 使用验证消息渲染页面 临时存储验证消息 并重定向到显示消息的 GET 这两种实现都遵循 PRG 模式吗 是否有更具体的方法来描述这两种模式 我问这个问题主要是为了教育
  • 文件 ld-linux-x86-64.so.2 中未定义版本 GLIBC_PRIVATE

    如果有人可以给初学者一些有关 gcc 版本问题的帮助吗 我遇到了这个问题 version GLIBCXX 3 4 20 not found 我点击链接后 如何在 CentOS 7 2 上使用 yum 安装 gcc 5 3 https sta
  • 静态变量顺序[重复]

    这个问题在这里已经有答案了 我对 C 中静态变量声明的顺序有疑问 当我运行这段代码时 static class Program private static int v1 15 private static int v2 v1 static
  • 具有虚函数的类的大小

    我正在修改 C 概念 但我坚持使用非常简单的代码 include
  • Dart 产生来自另一个流监听器的流事件

    我有一个函数可以生成stream的具体事件 现在我有一个来自存储服务的流 它有自己的事件 寻找一种方法在发生变化时产生我的事件storage stream 这段代码片段并不能解决问题 Stream
  • 输入空值时停止提交

    我正在寻找一个简单的解决方案来阻止登录表单提交空输入字段 表格的代码如下 如果可能的话 我想使用一个简单的 Javascript 解决方案
  • 如果模式匹配,则打印 lua 表中的值

    好吧 我最近刚接触 lua 发现自己陷入了以下困境 我有函数peripheral getNames 这是一个自定义函数 它将返回一个具有结构 key value 的表 而 key 始终是一个数字 从 1 开始 value 将是该函数找到的内
  • 在区域注册中注册路线

    我所在区域有两条路线 一条是自定义路线 一条是默认后备路线 请参见下文 var dashboardRoute new DashboardRoute ObjectFactory GetInstance
  • 为什么intellij IDEA高亮显示build.sbt?

    我最近在 IDEA 中使用 sbt 创建了一个新项目并得到了这个 它出什么问题了 我安装并启用了 scala 插件 IDEA 版本是 14 好的 我找到了解决这个问题的方法 链接在这里 https stackoverflow com a 2
  • DataSource 和 ConnectionPoolDataSource 之间的区别

    有什么区别javax sql DataSource http docs oracle com javase 6 docs api javax sql DataSource html and javax sql ConnectionPoolD
  • 在 Angular2 的自定义验证器中注入服务

    我尝试使用自定义验证器中的服务来检查用户名是否已存在 import Component from angular2 core import Control ControlGroup FormBuilder from angular2 com
  • 如何从旋转矩阵计算角度

    我使用单个对象的两个图像 该对象从第一个图像旋转一定角度 我计算了每个图像的姿势 并使用 Rodergues 将旋转向量转换为矩阵 现在我如何计算并查看它从第一个位置旋转了多少 我尝试了很多方法 但答案是否定的 编辑 我的相机是固定的 只有
  • 无法解析 fromJson

    我看过了这个线程 https stackoverflow com questions 17453406 gson with mixed read and 这个线程 https stackoverflow com questions 3231
  • CodeIgniter 1.7 升级到 2.1 后出现未定义的 $load 属性错误

    为什么在将 CodeIgniter 从 v1 7 升级到 v2 1 后出现此错误 A PHP Error was encountered Severity Notice Message Undefined property Site loa