CI下载与安装_基础配置_MVC

时间:2022-12-30 09:13:12

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的名字");

CI下载与安装_基础配置_MVC的更多相关文章

  1. SVN&&num;160&semi;CentOS7&&num;160&semi;下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一.      实践环境 CentOS 7操作系统(CentO ...

  2. nginx下载,安装,基础命令,和代理tomcat例子理解

    nginx代理讲的很好理解:https://www.cnblogs.com/ysocean/p/9392908.html 一.nginx应用场景: 1.反向代理(用的非常多) 客户端发出请求,反向代理 ...

  3. Maven的下载、安装与环境配置

    在创建一个项目时,搭建环境往往是编写具体代码的先决条件,而获取到所有需要的jar包是其中的重中之重.起初,人们在需要jar包的时候总会在网上四处查找,而且如果不知道某jar包版本的更迭,写出的代码或许 ...

  4. 下载、安装JDK并配置JDK的环境变量

    概念简介: JDK:(Java Development Kit)Java语言的软件开发工具包,它包含了Java程序的开发工具和Java程序的运行环境JRE: JRE:(Java Runtime Env ...

  5. maven安装与基础配置

    下载,安装 下载地址 https://maven.apache.org/ 解压安装包到安装路径 tar -zxvf apache-maven-3.8.1-bin.tar.gz -C /opt/ 配置P ...

  6. nginx安装及基础配置&lpar;含jdk安装及配置&rpar;

    0.jdk安装配置 #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz tar -xzf jdk-7u25-linux-x64.tar.gz m ...

  7. eclipse JDK 下载 and 安装 and 环境配置

    eclipse和JDK软件下载 链接:https://pan.baidu.com/s/1bpRHVIhNtK9_FMVbi34YUQ 密码:y3xr eclipse和JDK这两个软件是配套使用的,适用 ...

  8. wamp安装和基础配置

    一 下载地址 二 安装 三 修改默认网站目录 四 修改数据库密码 一 下载地址 wamp百度软件中心 wamp官方下载地址 二 安装 windows环境下wampserver的配置教程——超级详细 w ...

  9. tomcat下载与安装&period;&period;使用和配置环境变量

    操作环境: xp, myEclipse6.5 tomcat6.0 正文: 一.下载 tomcat官方网站 http://tomcat.apache.org 在左边Download树形菜单中 点击最新版 ...

随机推荐

  1. C语言中,头文件和源文件的关系(转)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句, ...

  2. setView的AlertDialog在受到二次点击后出错

    错误报告: 10-21 13:11:16.009: E/AndroidRuntime(27937): FATAL EXCEPTION: main10-21 13:11:16.009: E/Androi ...

  3. linux配置java环境变量&lpar;详细&rpar;

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  4. 2016 大连网赛---Weak Pair&lpar;dfs&plus;树状数组&rpar;

    题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5877 Problem Description You are given a rooted ...

  5. MySQL主从数据库同步延迟问题解决(转)

    最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来以便自己学习: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务 ...

  6. java时间格式串

    yyyy-mm-dd 和yyyy-MM-dd转换出来的日期不用. 用"yyyy-MM-dd"

  7. 10分钟搞定react-router

    1.路由的安装: $ npm install -S react-router 2.引入路由文件 import {Router, Route, browserHistory} from 'react-r ...

  8. JS动态获取当前时间

    HTML部分: <div class="div"> <div id="div"> </div> </div> C ...

  9. C&num;工具&colon;WPF生成图片验证码

    1.使用ImageFormatConvertHelper using System; using System.Collections.Generic; using System.Drawing; u ...

  10. 从 ELK 到 EFK 的演进

    背景 作为中国最大的在线教育站点,目前沪江日志服务的用户包含网校,交易,金融,CCTalk 等多个部门的多个产品的日志搜索分析业务,每日产生的各类日志有好十几种,每天处理约10亿条(1TB)日志,热数 ...