PHP CI 框架简单使用(二)
我们简单认识一下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 框架简单使用(二)的更多相关文章
- 【CI3.1】CI框架简单使用方法
CI框架简单使用方法 1.回忆MVC 1.1.M:模型,提供数据,保存数据 1.2.V:视图,只负责显示,表单form 1.3.C:控制器,协调模型和视图 1.4.action:动作,是控制器中的方法 ...
- CI框架简单使用
CodeIgniter框架 1.回忆MVC 1.1.M:模型,提供数据,保存数据 1.2.V:视图,只负责显示,表单form 1.3.C:控制器,协调模型和视图 1.4.action:动作,是控制器中 ...
- CI框架浅析(二)
该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载 ...
- ci框架简单出现的错误[Undefined property: MContacts::$db]
出现这样的错误时说明自己忘记加载数据库了, application/config/aotuload.php $autoload['libraries'] = array('database') ...
- 浅谈PHP的CI框架(一)
作为前端开发人员,掌握一门后端语言是必不可少的,PHP的CI框架是一个快速开发框架,基于MVC,比较接近原生PHP,在原有的PHP代码上封装了许多类,易上手,容易扩展,适用于小项目,并且CI的文档及案 ...
- CI框架源码研读(整体架构)
有人说phper的深入要从研读mvc框架开始,我跳了一个常用的CI框架入手,主要是因为 CI框架简单轻巧,可以自己DIY功能!!! 1.首先来看CI的整体架构图: 其中:application是用户级 ...
- 在CI框架中的配置整合amfphp
之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录: 一. 安装CI框架: 1. 搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wa ...
- 初学后台框架总结篇二——快速了解CI框架
一.下载CI框架并安装,这里放置一张自己的项目目录结构图 目录框架搭建好之后开始将自己的项目与框架融合 二.更改相关配置 1.用任何文本编辑器打开 application/config/config. ...
- Ajaxupload插件超级简单使用(php的ci框架)
Ajaxupload简单使用 友情提示:1.蓝色文字为必修改内容.2.#字符后面是解释该代码段的主要内容 备注: 该实例是用php的ci框架直接接收图片并 ...
随机推荐
- 使用transform属性和animation属性制作跳动的心
transform属性允许我们对元素进行旋转.缩放.移动和倾斜: animation属性允许我们对元素实现一些动画效果: 跳动的心源码 <!DOCTYPE html> <html l ...
- mysql中页的组成
页InnoDB采取的方式是:将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB.也就是在一般情况下,一次最少从磁盘中读取16KB的内容到内存中,一次最 ...
- performance面板使用,以及解决动画卡顿
https://googlechrome.github.io/devtools-samples/jank// 官方案例 https://juejin.im/post/5b65105f518825 ...
- vue路由(基于VScode开发)
index.js如果在router目录下,代表这个js文件只是路由使用 main.js中为全局,需要引入使用到的组件,一般vue中不用写东西vue中el挂载哪个就哪个组件为根目录,传值数据绑定的时候在 ...
- 利用python3 爬虫 定制版妹子图mzitu爬取
在刚开始学爬虫的时候,用来练手的基础爬虫就是爬取各种妹子图片,前几天同时说了这个,便准备随便写一个...最后发现真是三天不练..什么都记不住了!!所以花了政治一天重新写了一个爬虫程序,并且支持按照时间 ...
- dedecms 调用内容页分页
arc.archives.class.php $TRUEfilename = $this->GetTruePath().$fileFirst."_".$i.".&q ...
- 利用mybatis-generator自动生成代码(转)
利用mybatis-generator自动生成代码 mybatis-generator有三种用法:命令行.eclipse插件.maven插件.个人觉得maven插件最方便,可以在eclipse/int ...
- zencart产品属性dropmenu select只有一个选择项时自动变成radio单选的解决办法
includes\modules\classic\attributes.php 在大约786行代码 case ($products_options->RecordCount() == 1): 的 ...
- C++最快获取像素值
HDC hdc, hdcTemp; RECT rect; BYTE* bitPointer; int x, y; int red, green, blue, alpha; while(true) { ...
- buuctf@easyre