我们简单认识一下CI框架的MVC。示例代码如下

//CI控制器文件Home.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed'); //为了防止用户直接通过文件路径来访问控制器,可以有效的防止跨站攻击 class Home extends CI_Controller{ //继承CI控制类,必须存在的
public function __construct(){
parent::__construct();
$this->load->model('Home_model'); //加载Model模型类
} public function index(){
echo 'Home页面';
$this->load->View('home/index'); //渲染home下的index视图页面,View可以小写
}

  

//CI模型类文件Hone_model.php

<?php

class Home_model extends CI_Model
{ function __construct()
{
parent::__construct();
$this->load->database(); // 加载数据库
} }

  页面效果

  碰到的问题解决:

  1,在Linux部署访问CI时出现错误 Unable to locate the model you have specified:*_model 时

  解决方法:出现上述问题是没有找到指定的模型类,主要原因是因为在window环境下代码不区分大小写,所以默认model类文件名我小写,但文件中类名必须要为大写的,当我们将项目加载移植到Linux环境下时,Linux环境区分大小写,所以导致类文件没能找到,出现该问题,我们要修改模型类文件名和控制器中的加载名保持一致,要么全小写要么首字母大写,其余字母全小写。模型类中的类名要保证是首字母大写,其余小写的格式。

  例如上例就保证了$this->load->model('Home_model'); 的加载名和模型类文件名一致都是Home_model。

  2,出现错误Message: Undefined property: Home::$load

  解决方法:出现上述问题是因为我们定义的控制器文件名(类名)使用了CI里的关键字导致命名冲突,解决方法有两个,第一种修改控制器文件名和类名(此方法相对比较麻烦,我们推荐第二种方法) ,第二种在控制器种添加一个构造函数,写法如下

    public function __construct(){
parent::__construct();
}

PHP CI 框架简单使用(二)的更多相关文章

  1. 【CI3.1】CI框架简单使用方法

    CI框架简单使用方法 1.回忆MVC 1.1.M:模型,提供数据,保存数据 1.2.V:视图,只负责显示,表单form 1.3.C:控制器,协调模型和视图 1.4.action:动作,是控制器中的方法 ...

  2. CI框架简单使用

    CodeIgniter框架 1.回忆MVC 1.1.M:模型,提供数据,保存数据 1.2.V:视图,只负责显示,表单form 1.3.C:控制器,协调模型和视图 1.4.action:动作,是控制器中 ...

  3. CI框架浅析(二)

    该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载 ...

  4. ci框架简单出现的错误[Undefined property: MContacts::$db]

    出现这样的错误时说明自己忘记加载数据库了, application/config/aotuload.php     $autoload['libraries'] = array('database') ...

  5. 浅谈PHP的CI框架(一)

    作为前端开发人员,掌握一门后端语言是必不可少的,PHP的CI框架是一个快速开发框架,基于MVC,比较接近原生PHP,在原有的PHP代码上封装了许多类,易上手,容易扩展,适用于小项目,并且CI的文档及案 ...

  6. CI框架源码研读(整体架构)

    有人说phper的深入要从研读mvc框架开始,我跳了一个常用的CI框架入手,主要是因为 CI框架简单轻巧,可以自己DIY功能!!! 1.首先来看CI的整体架构图: 其中:application是用户级 ...

  7. 在CI框架中的配置整合amfphp

    之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录: 一. 安装CI框架: 1.  搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wa ...

  8. 初学后台框架总结篇二——快速了解CI框架

    一.下载CI框架并安装,这里放置一张自己的项目目录结构图 目录框架搭建好之后开始将自己的项目与框架融合 二.更改相关配置 1.用任何文本编辑器打开 application/config/config. ...

  9. Ajaxupload插件超级简单使用(php的ci框架)

                         Ajaxupload简单使用  友情提示:1.蓝色文字为必修改内容.2.#字符后面是解释该代码段的主要内容  备注: 该实例是用php的ci框架直接接收图片并 ...

随机推荐

  1. python之jupyter安装与使用

    Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown.用途包括:数据清理和转换,数值模拟,统计建模,机器学 ...

  2. ubuntu16.04 Installing PHP 7.2

    //install sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.2 //C ...

  3. Android官方网站!

    Android官方网站,所有Android相关文档.官方工具.示例,全部都在上面!! http://www.android.com/

  4. 多线程编程-- part5.1 互斥锁之公平锁-获取锁

    基本概念 1.AQS:AbstractQueuedSynchronizer类 AQS是java中管理“锁”的抽象类,锁的许多公共方法都是在这个类中实现.AQS是独占锁(例如,ReentrantLock ...

  5. lambda中FirstOrDefault和First

    First()表示取集合中的第一个元素,如果集合为空,则抛异常. FirstOrDefault()表示取集合的第一个元素. 如果集合为空,且集合元素是引用类型,则返回null. 如果集合为空,且集合元 ...

  6. Logback日志输出到ELK

    用docker-compose本机部署elk docker-compose.yml version: "3" services: es01: image: docker.elast ...

  7. 解决引导内核遇到undefined instruction的错误

    其实在上一篇随笔之前,就是在启动linux 内核的时候,出了点问题 刚Starting kernel ...就出现了undefined instrction,这是什么问题呢? 在网上也搜了不少资料,有 ...

  8. 简单了解TCP/IP与HTTP

    这种东西网上资源非常丰富,完全没有必要造轮子,更何况 这也不是你能造的啊,来 上连接 TCP/IP https://www.runoob.com/tcpip/tcpip-intro.html HTTP ...

  9. 从0开始Jmeter接口测试实战

    在之前的文章中给大家介绍过接口测试文档和接口测试用例示例,本文基于Jmeter工具给大家介绍一下如何实现接口测试用例:包括发起Http请求,绕过登陆,验证响应.JMeter是Apache组织开发的基于 ...

  10. Kay and Snowflake CodeForces - 686D (树的重心性质)

    After the piece of a devilish mirror hit the Kay's eye, he is no longer interested in the beauty of ...