浅谈PHP的CI框架(一)
作为前端开发人员,掌握一门后端语言是必不可少的,PHP的CI框架是一个快速开发框架,基于MVC,比较接近原生PHP,在原有的PHP代码上封装了许多类,易上手,容易扩展,适用于小项目,并且CI的文档及案例及其丰富,我用了5天时间从一头雾水照猫画虎用CI框架写了一个个人博客,顺路也看了看数据库,所以CI框架针对新手及小项目还是非常友好的.学完这个我由衷的明白了为什么论坛上的人将PHP奉为世界上最好的语言.
推荐的书籍:PHP与MySQL程序设计
我们所关心的为XAMPP下的这几部分:
1.Apache---web服务器,客户端发送request到服务器端,服务器返回response给客户端
2.Mysql
3.Php运行环境
注意:将项目文件夹放在xampp下的htdocs下,将ci框架直接下载到项目文件夹里
CI框架分为几部分:
1.Models模型 简单来说就是所有放跟数据库有关的操作以及其他用来摆放实体类工具类的地方
2.Controls控制器 起到一个连接的作用,将用户界面和后台数据库将View中的用户界面显示,并调用Models里的操作,实现相关操作
3.View视图 用户界面,主要用html等前端语言来写
小提示:
隐藏文件.htaccess是用来做访问控制的
System下的文件基本不需要改动
Application下config目录是配置目录,根据所需修改相关配置
编码流程示例:
1.在view下创建一个html文件名为login.php,简单写一下代码
<form id="frm_login" action="welcome/check_login" method="POST"">
<table>
<tbody>
<tr>
<th nowrap="nowrap">邮箱 或 账号:</th>
<td><input name="username" type="text"></td>
</tr>
<tr>
<th>登录密码:</th>
<td><input name="password" type="password"></td>
</tr>
<tr class="buttons">
<td>
<input value="现在登录" class="BUTTON SUBMIT" type="submit"/>
</td>
</tr>
</tbody>
</table>
</form>
2.在控制器里先加载界面
public function login()
{
$this->load->view('login');
}
通过在地址栏下输入地址localhost:/myblog/welcome/login就能看到登录界面
3.当输入账号密码后点击登录按钮,会通过表单post来提交数据,前端与后端的联系是通过name传值.所以将所需传值的变量设置name,input name="username"以及input name="password",并利用表单通过action跳转到相应控制器下的方法,这里为action="welcome/check_login" ,控制器下check_login代码如下
public function check_login()
{
//1.接收数据
$username = $this->input->post('username');
$password = $this->input->post('password');
//2.验证
//3.数据库操作
$this->load->model('user_model');//加载model文件
$result = $this->user_model->get_by_name_pwd($username, $password);//调用model文件下的方法并传值
if ($result) {
echo 'ok';
} else {
echo 'fail';
}
}
控制器中的代码有3个步骤,接收数据,验证,数据库操作(包括加载model文件和用model文件下的方法并传值,然后根据返回结果写所需代码)
4.操作model,主要为数据库操作,建数据库表的过程省略
public function get_by_name_pwd($name,$pwd){
$query = $this -> db -> get_where('t_user',array(
'username' => $name,
'password' => $pwd
));
return $query -> row();
}
接收传过来的值并在数据库中查询,将结果返回到上一步控制器中,然后继续进行
CI框架简单易上手,拿它做个毕业设计什么的简直跟玩一样,哈哈哈
浅谈PHP的CI框架(一)的更多相关文章
- 浅谈一下SSI+Oracle框架的整合搭建
浅谈一下SSI+Oracle框架的整合搭建 最近换了一家公司,公司几乎所有的项目都采用的是Struts2+Spring+Ibatis+Oracle的架构,上一个东家一般用的就是JSF+Spring,所 ...
- 浅谈Java的集合框架
浅谈Java的集合框架 一. 初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...
- 浅谈java类集框架和数据结构(2)
继续上一篇浅谈java类集框架和数据结构(1)的内容 上一篇博文简介了java类集框架几大常见集合框架,这一篇博文主要分析一些接口特性以及性能优化. 一:List接口 List是最常见的数据结构了,主 ...
- 浅谈五大Python Web框架
转载:http://feilong.me/2011/01/talk-about-Python-web-framework 说到Web Framework,Ruby的世界Rails一统江湖,而Pytho ...
- 【前端框架系列】浅谈当前基于bootstrap框架的几种主流前端框架
一 概述 当新开发一个项目或产品时,技术选型是一个不可缺少的环节,在软件架构中有着举足轻重的作用,可以这么说,技术选型的好坏直接影响项目或产品的成败优劣,因此,在进行软件架构时,一定要想好技术选型. ...
- 浅谈java类集框架和数据结构(1)
在另外一篇博客我简单介绍了java类集框架相关代码和理论. 这一篇博客我主要分析一下各个类集框架的原理以及源码分析. 一:先谈谈LinkedList 这是LinkedList源码的开头,我们能看到几点 ...
- 浅谈IDEA搭建SSM框架的集成
前言 学习完MyBatis,Spring,SpringMVC之后,我们需要做的就是将这三者联系起来,Spring实现业务对象管理,Spring MVC负责请求的转发和视图管理, MyBatis作为数据 ...
- 浅谈IDEA集成SSM框架(SpringMVC+Spring+MyBatis)
前言 学习完MyBatis,Spring,SpringMVC之后,我们需要做的就是将这三者联系起来,Spring实现业务对象管理,Spring MVC负责请求的转发和视图管理, MyBatis作为数据 ...
- 浅谈Java反射与框架
Java反射 1.示例 1.用户类 package com.lf.entity; import com.lf.annotation.SetProperty; import com.lf.annotat ...
随机推荐
- C语言-表达式
表达式是使用运算符连接起来的式子,C语言中的表达式有以下几种: 1.算数运算符 + - * / % 2.赋值运算符 += -= *= /= %= 3.自增.自减 ++ -- a++为先 ...
- 深度学习caffe:Ubuntu16.04安装指南(1)
caffe [CPU ONLY] 2017-01-15 最简单的安装配置方式: 不用GPU加速,使用OPENCV2.4图像库, 这是根据官方教程(链接如下)简化而得到. Ubuntu 16.04 or ...
- CentOS 7修复MBR和GRUB
(转载) 一.修复MBR: MBR(Master Boot Record主引导记录): 硬盘的0柱面.0磁头.1扇区称为主引导扇区.其中446Byte是bootloader,64Byte为Partit ...
- php正则表达式简介
正则表达式简介 正则表达式Regular Expression,使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.代表性书籍<正则表达式之道>里面有详细论述,本书籍为个人查阅之用力 ...
- v4l2视频采集摄像头
v4l2 --是Linux内核中关于视频设备的内核驱动框架,为上层访问底层的视频设备提供了统一的接口./dev/vidioX 1.打开设备文件 fd=open("/dev/video3&qu ...
- 浅谈JavaWEB入门必备知识之Servlet入门案例详解
工欲善其事.必先利其器,想要成为JavaWEB高手那么你不知道servlet是一个什么玩意的话,那就肯定没法玩下去,那么servlet究竟是个什么玩意?下面,仅此个人观点并通过一个小小的案例来为大家详 ...
- fork() && fork() || fork()
http://blog.csdn.net/hs794502825/article/details/10242091 #include <unistd.h> #include <std ...
- Windows Server 2008 R2 允许远程桌面连接这台计算机是灰色解决办法
发现在给"远程协助"打钩时,是灰色的没法钩上,也就没办法开启.这是因为Windows Server 2008 R2的安全性已经被微软设计的很高,默认刚安装上Windows Serv ...
- Java 字符终端上获取输入三种方式
http://blog.csdn.net/hongweigg/article/details/14448731 在Java 字符终端上获取输入有三种方式: 1.java.lang.System.in ...
- [linux]ngrep命令、常见用法
1.ngrep命令 ngrep命令是grep命令的网络版,ngrep用于搜寻指定的数据包(抓包.过滤).能识别TCP.UDP和ICMP包,理解bpf的过滤机制. 1.1 安装 brew install ...