文档章节

php CI框架学习笔记第一期(目录结构,控制器,视图)

Rhymo-Wu
 Rhymo-Wu
发布于 07/05 21:09
字数 856
阅读 37
收藏 5

1.目录结构

在编写代码之前,要明确,我们的代码写在什么地方?(解压后的目录结构)

其中user_guide 一般会将其删除

重点来关注application文件夹

2.控制器

控制器说白了就是一个类文件,并且要继承自CI_Controller,此时我们可以借鉴ci自己提供的welcome.php文件(/controller/welcome.php中)。

关于命名规范的问题,如果我们使用别人的框架,尽量要遵守别人制定的规范,正所谓入乡随俗。

  • 类名的首字母应该大写。如果名称由多个词组成,词之间要用下划线分隔。
  • 类中所有其他方法的名称应该完全小,多个单词之间使用下划线。
  • 类文件名使用小写,名字和类名一致。

定义hello控制器,有一个方法,index

访问:涉及到ci的url模式

Ci支持的url模式默认为pathinfo形式,也就是使用/隔开。

http://localhost/citest/index.php/hello/index

 

其中http://localhost/citest/index.php/ 是固定的,表示的就是入口文件

 

而后面的hello则表示控制器,index表示是控制器中的方法。

3.视图的定义

视图,说白了就是模板文件,可以是html页面,也可以php文件,使用什么后缀并不重要。

视图文件应该放在view文件夹中

4.在控制器中调用视图

使用$this->load->view(视图名)即可

上面的操作只是简单的将html页面展示出来,而实际上是经常 需要在控制器中获得数据,然后分配到视图当中。使用load->view方法的第二个参数分配数据即可。

然后在视图页面,输出数据。

Ci框架中,模板语法是怎样的?

CI使用的原生的php语法,效率高。

在视图中,直接使用$title输出,而不是$data[‘title’],需要注意,CI它使用了一个extract函数(详见php函数手册),将数组变量导入到当前的符号表,所以直接使用键名作为变量来访问。

5.必须清楚的几个概念

(1)框架开发和二次开发

打个比方:买房子

买二手房,直接拎包入住。   好比是二次开发,dedecms,phpcms,echsop

买毛坯房,不能住人,自己去买各种装修材料,请人装修,才能入住。好比是框架开发,只提供了基础功能和项目结构。

 

CI是框架,用于框架开发。

(2)MVC

M:model模型,一般是直接操作数据库的

V:view视图,一般指的是模板文件,比如html页面,用于展示数据的

C:controller,控制器,扮演了交通警察的角色,接收请求,然后调用相应的模型来完成工作,获取数据,最后分配到视图。

 

CI框架也是一个基于MVC的框架。使用CI框架进行开发的时候,大部分工作就是在MVC这块。

© 著作权归作者所有

共有 人打赏支持
Rhymo-Wu
粉丝 5
博文 33
码字总数 10659
作品 0
桂林
前端工程师
私信 提问
CodeIgniter剖析(1)

下载CodeIgniter1.7并解压缩后,将index.php和system目录拷贝到web服务器的根目录下,这样就完成了CodeIgniter的安装。 安装完后可以看下system目录下的结构。Application是你自己项目存放文...

嗯哼9925
01/07
0
0
php codeigniter

1、CI是什么 CI的全称是CodeIgniter, 一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。基于MVC设计模式,轻量易学,注重...

刘胜球
2015/09/27
122
0
【军哥谈CI框架】之无限分类类库的实现和应用

大家好,我是军哥,英文名:JayJun,一直想跟大伙交流一下学习和使用CI的心得和经验,最近也在用CI写一个在线书城项目,已经完成80%,其中有用到无限分类,关于无限分类,有许多的实现方式,今...

jayjun0805
2012/11/13
0
6
【军哥谈CI框架】之CI中集成百度UEditor

Hello,各位亲,话说上一回,军哥带大家用 JQuery写了一个全国城市级联菜单的例子 ,不知道亲们学会了多少,是否自己可以独立写出来了呢。 军哥很是期待大家学有所获的,有不明白的地方随时留...

jayjun0805
2012/11/14
0
6
CI 框架源码解析一之入口文件 index.php

Index.php作为CI框架的入口文件,源码分析,自然而然由此开始。在源码分析的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现,如果英文水平很好的话,读过index.php文件的英文注释...

梦想_行人
07/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

解析Nuxt.js Vue服务端渲染摸索

本篇文章主要介绍了详解Nuxt.js Vue服务端渲染摸索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 Nuxt.js 十分简单易用。一个简...

前端攻城老湿
12分钟前
1
0
深入解析React中的元素、组件、实例和节点

React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深对React的理解,以及在项目中更加灵活地使用React。 React 中的元素、组件、实例和节点,是React中关系密切的...

前端攻城小牛
27分钟前
2
0
菜鸟网络三面面经(java开发岗):Spring boot+JVM+线程池+中间件

一面 1、HaspMap底层原理?HaspTable和ConcurrentHashMap他们之间的相同点和不同点? 2、由上题提到锁的问题 3、MySQL的表锁&行锁&乐观锁&悲观锁,各自的使用场景 4、Java线程锁有哪些,各自的...

别打我会飞
32分钟前
4
0
NCL入门

;***这两行指令必须加载,类似于c语言中的库函数load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"begin ......

voole
35分钟前
1
0
程序员该如何把握黄金五年!

在Java业界流行着一种说法——黄金5年,就是从程序员入职时算起,前五年的工作选择直接影响整个职业生涯的职业发展和薪资走向。如何把握这五年,从一个刚入行的菜鸟蜕变成一个处事不惊的大佬...

James-
45分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部