浅谈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 ...
随机推荐
- wdcp使用记录--持续更新
1.扩展memcache 资源地址:http://download.csdn.net/detail/fangminglei/8390449 上传至root文件夹运行 注:官方提供的文件不能安装,需要改 ...
- Linq左关联 右关联 内关联
1.左连接: var LeftJoin = from emp in ListOfEmployees join dept in ListOfDepartment on emp.DeptID equals ...
- java设计模式面试
设计模式 1. 单例模式:饱汉.饿汉.以及饿汉中的延迟加载,双重检查 2. 工厂模式.装饰者模式.观察者模式. 3. 工厂方法模式的优点(低耦合.高内聚,开放封闭原则) 单例模式 分类:懒汉式单例.饿 ...
- OC纯代码全手工打造ScroolView实现翻页
OC纯代码全手工打造ScroolView实现翻页 1. 概述 分为三部分: 上部标题ScrollView 下部内容ScrollView 上部当前页 标示线 2. 效果 上下两部分都随着手势的滑动一块滑 ...
- sql相关语言
SQL 掌握一门编程语言: C C++ Java C# ... 数据库 数据结构/算法 链表 队列 栈 数组 面向对象 网络 (界面.业务逻辑) 关系型数据库: 以二维表的形式组织数据 表.索引.视图 ...
- Windows API 函数浏览
AbortDoc 终止一项打印作业 是 是 ...
- Win10下CISCO VPN Client无法安装解决方案
Cisco vpn client 在Windows升级到Windows 10 之后无法正常安装使用,在这种情况下:1.先安装Dell SonicWALL Global VPN Client(GVCSe ...
- 添加redo日志组和添加日志组多元化
查看redo日志组的状态和日志的位置. SQL> 没有被使用,所以切几次日志,组合4已生效. SQL> select * from v$log; GROUP# THREAD# SEQ ...
- return_url和notify_url的区别
页面跳转同步通知页面特性(return_url特性) (1) 买家在支付成功后会看到一个支付宝提示交易成功的页面,该页面会停留几秒,然后会自动跳转回商户指定的同步通知页面(参数return_url ...
- Linux安装配置VPN服务器
一.实验简介 VPN ,中文翻译为虚拟专有网络,英文全称是 Virtual Private Network .现在 VPN 被普遍定义为通过 一个公用互联网络建立一个临时的.安全的连接,是一条穿过混乱 ...