CI:CodeIgniter -- 由Ellislab公司的CEORickEllis开发,是一个简单快速的PHP MVC框架。

=============下载和安装================
地址:http://codeigniter.org.cn/download
版本:目前的稳定版本为3.X
在线手册:http://codeigniter.org.cn/user_guide/general/welcome.html

=============目录结构==================
|-application:应用文件夹
|- config:配置文件
|- cache:缓存文件
|- MVC:...
|- helpers:辅助函数
|- libraries:类库
|-...
|
|-system:系统文件夹
|-user_guide:用户手册(可以删除)
|-index.php:CI的入口文件
* 唯一一个让浏览器直接请求的文件
* 在入口文件中定义开发环境
* 定义项目目录,视图目录等信息
* 加载框架的入口文件

============默认路由===================
路由:一个指定访问路径的字符串

* 所有请求都是通过入口文件开始,通过URL传递过来的信息去找到对应的控制器和操作,再由控制器去找到对应的视图文件(MVC)
* 默认路由是在appliction/config/routes.php中
* 默认指向的控制器是Welcome
* default_controller:默认控制器
404_override:当发生404错误时的操作
translate_uri_dashes:是否解析-为_

============控制器===================

Controller的建立:
1 找到application/controllers,新建自己的controller页面(.php后缀)
2 类名同文件名,类名首字母大写
3 继承CI_Controller,确保你的控制器扩展自父控制器类
4 保留字的问题(手册-常规主题-保留名称)
5 如果重写构造方法,一定要调用父类的构造方法(parent::__construct())
* 访问的时候url地址不分大小写,index()方法默认加载

============配置文件=================
CI的配置文件:application/config目录下
autoload.php:自动加载配置信息
config.php:项目配置文件
constants.php:项目中的常量
database.php:数据库配置信息
doctypes.php:文档类型对应的头部信息
foreign_chars:外国文字对应
hooks.php:钩子配置
memcached:memcached的配置信息
migration.php:文件对应的http类型
routes.php:路由配置文件
smileys.php:特殊字符对应的图片
user_agents.php:用户的浏览器对应的系统
profiler.php:程序分析的配置

-----
* CI在项目运行时会自动加载config.php,在代码中可以使用config_item()函数获取配置
* CI中提供了config类来获取配置信息:$this->config->item("配置信息")
* 可以在代码中动态设置配置信息:$this->config->item("配置项","值")

=======URL路由规则和自定义路由========

CI中URL的处理(pathinfo):
http://localhost/work/index.php/控制器名/方法名/参数1/参数2....
默认控制器:welcome
默认方法:index

*修改默认控制器:application-config-routes.php(路由管理文件)

-----
自定义URI -- 在配置文件中指定自定义路由
1.在routes.php中添加规则
例:$route["welcome/25"] = "welcome/index/25" -- url访问时:IP/工程名/index.php/welcome/25
** 键所对应的URI才是真正需要访问的路径
2.使用通配符进行值匹配 -- :num 用于匹配所有数字
-- :any 用于匹配任意字符
例:$route["welcome/(:num)"] = "welcome/index/$1";

3.使用正则表达式:
例:$route["welcome/(\d+)"] = "welcome/index/$1"

4.URI中使用回调函数:
$route["welcome/index/(\d+)"] = function($id){
return "welcome/index/".$id;
}

=================URL辅助函数========================================
1.要使用URL的辅助函数,需要先加载URL帮助类:$this->load->helper("url");
2.常用函数:site_url(路由):生成url地址,通过指定的路由和配置信息
base_url():生成URL地址
current_url():返回当前完整URL
uri_string():返回URI分段内容(路由)

除了每个方法中单独配置,可以设置自动加载:
application/config/autoload.php
去搜索键为helper的数组配置,把帮助函数写到数组值中即可

=================视图======================
* CI默认使用php文件来作为视图文件
* 在application/views目录下创建视图文件,可以创建子目录

载入视图:

加载视图:$this->load->view("页面名")

注意:
1 视图是php文件则页面名直接写,可以不用带后缀,会自动补全.php
2 视图是html,就必须把后缀带上
3 同一个方法中可以执行多次该语句,会依次将视图文件载入
注意:如果同一个控制器加载了多个视图,变量只需要赋值一次,其他模板都可以进行使用
4 view方法后面可以跟第二个参数,即分配的变量(数组)
例:$data = array("name"=>"lily")
$this->load->view("test.php",$data)

视图文件中:<?php echo $name;?> -- 直接使用数组的索引作为变量名进行使用
注意:CI的视图文件中,支持变量名简写输出:<?=$name ?>

变量分配:$this->load->vars(变量)

-----视图中的流程控制-----
if(){..} --> if(): ... endif;

foreach(): ... endforeach;

=================模型======================
模型层:
1.在application/models下创建类文件,并继承CI_Model

2 控制器中调用模型层:
1)加载模型层:$this->load->model("User");//User类加载到控制器层中
$this->load->model("User","u");//在上面加载的基础上再进行模型层的取别名的操作,别名:u
* 加载模型后,模型会成为超级对象的属性
* 如果你的模型层包含子目录,那么在加载模型的时候,必须写明目录结构,例如:
$this->load->model("test/User");

2)调用模型层的方法:
没有取别名:$this->User->模型层中的方法()
取别名(可以使用别名作为$this的属性,再调用方法):$this->u->模型层中的方法()

-----自动加载模型-----
如果程序中有很多地方需要使用到模型,那么可以在config/autoload.php中配置模型为自动加载

$autoload["model"] = array("User");

=====================输入类==============================
form:
action:
site_url("控制器/方法")--http://localhost/work/index.php/控制器/方法
获取值:
post:$this->input->post("前台的控件的Name");
get:$this->input->get("前台的控件的Name");
cookie:$this->input->cookie("cookie的名字");

转载于:https://www.cnblogs.com/-xiepan/p/7722238.html

CI下载与安装_基础配置_MVC相关推荐

  1. proxmox ve 中文社区_基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置...

    基于ProXmoX VE的虚拟化家庭服务器(篇一)-ProXmoX VE 安装及基础配置 2018-09-22 16:00:09 246点赞 2066收藏 327评论 你是AMD Yes党?还是int ...

  2. Katalon Studio自动化测试框架使用【1】--- 环境安装以及基础配置(MacOS)

    一.Katalon Studio简介 Katalon Studio是一款免费的自动化测试工具,可以安装在windows.macOS.Linux操作系统上,结合了selenium和appium测试框架, ...

  3. linux7开放svn,CentOS 7 下SVN的安装及基础配置介绍

    CentOS 7 下SVN的安装及基础配置介绍 一.实践环境 二.安装操作系统 三.安装SVN 四.基础配置 五.启动SVN 六.客户端访问 七.常见问题排查 一.实践环境 CentOS 7操作系统( ...

  4. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一.         实践环境... 1 二.         安装操作系统... 1 三.       ...

  5. Anaconda使用教程(一)——下载、安装及环境配置

    Windows系统Anaconda使用教程(一)--下载.安装及环境配置 文章目录 Windows系统Anaconda使用教程(一)--下载.安装及环境配置 1. 下载网址 方法1 方法2 2. 安装 ...

  6. mysql+odbc驱动安装_MySQL的ODBC驱动下载及安装及ODBC配置

    点击进入mysql官网下载界面:https://dev.mysql.com/downloads/connector/odbc/ 2.安装驱动 3.配置数据源 依次找到[控制面板]-[管理工具]-[OD ...

  7. Ubuntu 20.04.4 LTS下载、安装、部分配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Ubuntu 20.04.4 LTS下载链接 二.安装过程 三.部分配置 1.更新源服务器为国内地址 2.安装中文 ...

  8. Mac电脑的python下载、安装和环境配置——JDK+python+pycharm

    Mac电脑的python下载.安装和环境配置--JDK+python+pycharm 之前一直用的windows,换了Mac之后用的还有些生疏,刚好都是重新配置就随手记一下 之前一直用的windows ...

  9. Go语言(下载、安装、环境配置、GoLand编译器安装、编写HelloWorld)

    文章目录 Go语言(下载.安装.环境配置.GoLand编译器安装.编写HelloWorld) 一.官网下载 二.无脑安装 三.配置环境变量 四.GoLand开发工具安装 五.编写Hello World ...

最新文章

  1. [转]100个常用的linux命令
  2. VI和VIM编辑器深入学习笔记--基本vi命令
  3. 浅谈AJAX并实现使用pagehelper-5.1.10.jar分页插件实现异步从数据库中获取数据分页显示
  4. centos7 配置静态ip时出现双ip问题解决
  5. 计算机网络【0】概述
  6. tkinter的GUI设计:界面与逻辑分离(三)-- 多页面
  7. 重构手法之重新组织数据【1】
  8. 【WEB】web www http html hypermedia hypertext 技术名词的意思
  9. Telegram、Telethon
  10. Python用户管理系统,宠物管理系统
  11. JavaScript面试题111-120
  12. 关于计算机的合成新英语词,计算机英语专业词汇的构词法
  13. stm32f4红外传感器模块 和人体感应模块HCSR501
  14. 智能电视以及机顶盒屏幕截取的方法
  15. 容器与容器云——Docker容器基本概念
  16. css flex布局超长自动换行
  17. 预备作业:有关技能以及“做中学”
  18. 华擎主板的instant flash功能问题
  19. 毕业设计怎么快速搞定——工具开篇,无往不利!
  20. 电荷放大器+低通滤波器的设计

热门文章

  1. Android在Service中显示Dialog
  2. ASP.NET(C#)获取客户端的网卡MAC代码
  3. 【社招】vivo西安研发中心招聘影像类英才
  4. mAP提升40%!YOLO3改进版—— Poly-YOLO:更快,更精确的检测和实例分割
  5. 对爬虫数据分析的同学不要错过啦 数据分析数据可视化: Matplotlib
  6. stack java实现_java实现stack
  7. mysql聚合索引创建_为 MySQL 查询优化选择最佳索引
  8. GAN模型计算量减少至1/9!MIT韩松团队提出GAN压缩法,已开源
  9. 解决string字符串关于copy函数的C4996错误
  10. 《Python编程从入门到实践》记录之第2章 变量和简单数据类型总结(思维导图)