分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

PHP CI 框架简单使用(二)

发布时间:2023-09-06 02:09责任编辑:苏小强关键词:PHP

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

//CI控制器文件Home.php<?phpdefined(‘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<?phpclass 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 框架简单使用(二)

原文地址:https://www.cnblogs.com/lovele-/p/9459416.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved