php框架

 首页 > php框架 > CI超级对象

CI超级对象

分享到:
【字体:
导读:
          目录结构说明 license.txt 许可协议 user_guide用户手册 system 框架核心文件 application 应用目录 index.php 入口文件 --------------------------- MVC 1.入口文件。 唯一一个让浏览器直接请求的脚本文件...

目录结构说明
license.txt 许可协议
user_guide  用户手册
system      框架核心文件
application 应用目录
index.php   入口文件

---------------------------

MVC
1.入口文件。
        唯一一个让浏览器直接请求的脚本文件
2.控制器controller
        协调模型和视图
3.模型
        提供数据,保存数据
4.视图view
        只负责显示
        表单...
5.动作action(方法)
        是控制器中方法,用于被浏览器请求

CI中的MVC
        访问url使用的是pathinfo

        入口文件.php/控制器/动作

        application目录中:
                controllers 控制器
                models            模型
                views            视图
    
        默认控制器是welcome
        默认动作是index

控制器
        1.不需要加后缀
        2.文件名全部小写 例如 user.php
        3.所有的控制器,直接或间接继承来自CI_controller类
        4.控制器中,对动作(方法)要求:
                public
                不能以_开头

视图
        1.在控制器中如果加载视图
                //直接写视有自图名字,不写扩展名,如果有子目录,则写上目录名
                $this->load->view(视图);
        2.视图中,直接使用原生php代码
        3.推荐使用
               
               
               

超级对象
        当前的控制器对象
        提供了很多属性:
        $this->load
                装载器类的实例 system/core/loader.php
                装载器类提供方法:
                view()        装在视图
                vars()  分配变量到视图
                database() 装载数据库操作对象
                model()    装载模型对象
                helper()    
        
        $this->uri
                是CI_URI类实例的 system/core/URI.php
                CI_URI类提供方法
                segment(n)用于获取url中的第n个参数(值)

                传统的:入口文件.php/控制器/动作/参数1/值1/参数2/值2
                 入口文件.php/控制器/动作/参数1/参数2


                echo $this->segment(3);//值1
                echo $this->segment(4);//值2

                //index.php/控制器/index/6
                public function index($p=0){
                        echo $p;//输出6
                }

        $this->input
               输入类
                是CI_Input类实例的 system/core/Input.php
                CI_URI类提供方法:
                $this->input->post('username');      //$_POST['username']
                $this->input->server('DOCUMENT_ROOT');      //$_SERVER['DOCUMENT_ROOT']

        在视图中,直接用$this来访问超级对象的属性

数据库访问
                修改配置文件
                application/config/database.php

                将数据库访问对象,装载到超级对象的属性中 $this->db
                $this->load->database();

                $res=$this->db->query($sql);//返回对象
                $res->result();//返回数组,数组中是一个一个的对象
                $res->result_array();//返回二维数组,里面是关联数组
                $res->row() //.返回第一条数据,直接是一个对象
分享到:
ci框架mysql数据库连接资源无法释放
  使用ci框架提供的类查询数据:       $this->load->database();       $query = $this->db->query($sql);     程序运行一段时间之后,报错,告知数据库too many connections     很明显mysql数据库连接资源超过了 max_connections 设定值。立马在每个查询之后,添加资源释放脚本:       ...
CI框架与widget(页面格局)
    在WEB开发过程中,我们免不了要输出视图文件,而通常视图文件又一般都少不了头部、左侧栏以及底部这些公共元素。       如何让整个项目开发在涉及视图套用时引入敏捷的思维,提高效率呢?就不得不提一下widget。承然你也大可以使用HMVC模型。         这里仅介绍下widget如何结合入CI框架中:...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……