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();
    }

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

时间: 2024-07-31 04:48:44

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

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

出现这样的错误时说明自己忘记加载数据库了, application/config/aotuload.php     $autoload['libraries'] = array('database'); ci框架简单出现的错误[Undefined property: MContacts::$db]

CI框架浅析(二)

该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载以下公共方法: 方法名 注释 is_php($version) 判断$version是否小于或等于当前安装的PHP版本 is_really_writable($file) 判断该文件是否可写 load_class($class, $directory = 'libraries', $param =

CI框架问题之二(类的自动加载问题)

application/config 配置文件中添加: | 1. Packages | 2. Libraries | 3. Helper files | 4. Custom config files | 5. Language files | 6. Models 1. 第三方库文件加载 // $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared'); $autoload['packages'] = arra

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

                     Ajaxupload简单使用  友情提示:1.蓝色文字为必修改内容.2.#字符后面是解释该代码段的主要内容  备注: 该实例是用php的ci框架直接接收图片并保存 1. 引用AjaxUpload.js文件 #public/js/ajaxupload.js ajaxupload插件的文件位置 <script tyep="text/javascript" src="public/js/ajaxupload.js">&

最简单的CI框架入门示例--数据库取数据

这个写给初学者看,这是最简单可以调通的例子,网上很多例子其实初学者本地跑不通,缺这少那. 1.下载CI框架(自己找) 2.配置 database.php配置:    为数据库服务器设置 connection 参数: $db['default']['hostname'] = "your-db-host"; $db['default']['username'] = "your-username"; $db['default']['password'] = "y

ci框架(二)

自定义SQL语句                                                                             当提供的API满足不了我们对SQL语句的要求的时候,我们通常是自己来写SQL语句,CI也提供了比较强大了,能够满足我们需求的一般的sql的API. $res=$this->db->select('id,name') ->from('表名') ->whrer('id >=',5)//注意id后面要有个空格 -&

三、CI框架之一个最简单的页面

一.在CI框架里面的controllers <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { //显示welcome_message.php文件 $this->load->view('welcome_message'); } } 二.在view里面 <?php def

二十七、CI框架之自己写分页类并加载(写分页还是有难度,搞了一整天)

一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入代码 五.我们打开浏览器,就可以看到CI框架的分页已经被我们替换掉了,如图: 总结: 大家可以看到,目前我自己比较好用的一个分页类在CI中可以正常使用,但是翻页之后,是用的 [ ?page=6 ]这种形式来呈现的,和CI还是不符合,我们后续改进一下分页类的写法,符合CI的规范. 原文地址:https

ngnix 配置CI框架 与 CI的简单使用

ngnix 支持 CI框架1.修改config.php 参考网址:https://www.chenyudong.com/archives/codeigniter-in-nginx-and-url-rewrite.html 2. ci小样例 http://www.mamicode.com/info-detail-514033.html 控制器的默认配置文件: routes.php, 不修改默认为跳转到welcome控制器 3.修改CI为子目录 https://yq.aliyun.com/artic