MVC微型框架---------学习
1、单一入口机制 是指在web程序中 所有的请求都指向一个脚本文件
2、工厂模式的概念精髓:工厂类就是对类的封装,类是对方法的封装,方法是对实现过程的封装
调用当前类的静态方法,规范的写法是使用 self 而非 $this。
/3、esc下的按键`的作用是防止sql语句中 表名,字段名等 出现SQL关键词 而引起冲突的情况
mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。
$keys = '`' . implode('`,`', array_keys($data)) . '`';
$values = '`' . implode('`,`', array_values($data)) . '`';
$sql = "INSERT INTO {$table}( {$keys} )VALUES( {$values} )";
4、extract($config);//extract() 函数使用数组键名作为变量名,使用数组键值作为变量值,将数组(必须为关联数组)拆分成变量.
function connect($config){}数据库连接函数
mysql操作类:
1.报错函数
die()//die有两种做用输出和终止相当于echo与exit的结合
5、findAll查找多条语句封装,用mysql_fetch_accoss也可行 把查询的所有行列的结果打包成一个数组
从资源处取出一条数据信息作为数组,所以不用while循环,也可以mysql_fetch-assoc
mysql_resule返回结果集中指定行和指定字段(或偏移量)的值
6、解决问题的方法:完善MVC架构
1.封装数据操作,
2.研发微型框架系统,封装视图引擎,DB引擎。
原先面向过程与MVC之间对比问题总结
7、框架组织结构
1、函数库(重复用):不能归类的方法,全放到function文件(零散方法)。
2、类库
①视图引擎库(smarty)。
②DB引擎库(封装的数据库类class db)。
③核心库(工厂封装的static DB和static smarty重复用)。
3、require文件清单
4、启动引擎程序
8、header("Content-type: text/html; charset=utf-8");
//url形式 index.php?controller=控制器名&method=方法名
// 调用配置文件
require_once('config.php');
// 调用微型框架
require_once('framework/pc.php');
// 启动框架引擎
PC::run($config);
9、微框架提供给我们
1扩展便利
2全自动,半自动
3统一配置借口
10、
1.业务逻辑全写入model层
2.大事化小,分而治之
过长、过复杂的方法要拆分成若干个方法
能公用的代码码段要分出来单独写一个方法
拥有太多方法的model层,可独立出一个新的model层
3.相似功能合二为一
例如新闻发布、修改功能,模板、模型、控制器都用同一个
11、控制器层不书写任何业务处理程序,只负责各个model和view之间的协调调用(总概全局方法)。业务逻辑的具体实现在模型层!模型层根据相应的方法进行方法的细化,避免代码量过长而导致逻辑不清晰。
MVC微型框架---------学习的更多相关文章
- PHP之MVC微型框架简单搭建
好长时间没有写博客了,这段时间过得紧张的不行,以致于都没有抽出时间来好好的总结一下自己这段时间的生活和学习. 其实今天不想写什么技术博客,就想简单总结一下这段时间的生活.10月8号从家里回来以后决定自 ...
- php源码建博客4--实现MVC结构微型框架
主要: 常量优化路径 自动加载类 优化入口文件 安全访问项目目录 --------------文件结构:-------------------------------------- blog├─App ...
- MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)
前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)
前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...
- MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)
前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)
前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之 ...
- 精通ASP.Net MVC 3 框架(第三版)学习笔记
精通ASP.Net MVC 3 框架(第三版)学习笔记 代码才是王道. http://pan.baidu.com/s/1pJyL1cn
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2): ...
- Spring MVC 学习总结(十)——Spring+Spring MVC+MyBatis框架集成(IntelliJ IDEA SSM集成)
与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC负责请求的转发和 ...
随机推荐
- git bash here 的 ~/.bashrc 配置文件。和 vue/cli 3. 0 的 .vuerc文件(preset )
今天就来讲一下git有关的小技巧,.bashrc文件是用户配置文环境变量的文件,每次git bash会首先运行里面的内容 1.自动运行 每次进入git bash都会先读取.bashrc里面的内容,因此 ...
- Loadrunner常用目录、组成部分及负载测试流程
常用目录 bin:存放一些可执行程序 classes:可能用到的jar包 My Template:存放一些自己创建的模板 include:头文件(可以编写自定义函数,保存成.h的头文件形式并放在这个目 ...
- 步步为营-75-Cookie简介
说明:cookie常用于数据保存 1 使用 //创建cookie Response.cookies["yk"].value ="xyxtl"; //设置过期时间 ...
- python目录和文件的列表清单
import os # 通过给定的文件夹,列举出这个文件夹当中,所有的文件,以及文件夹,子文件夹当中的所有文件def listFilesToTxt(dir,file): # 1.列举出,当前给定的文件 ...
- .net C# 抽奖,中奖
demo设置了8个奖项,每个奖项可以自定义中奖率,精度为1/10000 public string PrizeDraw() { //奖品以及中奖率 const string prizeString = ...
- Supervisor Linux程序进程管理
Supervisor 介绍 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中 ...
- 全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)
除了宽带提供商的 DNS 以外,像阿里云.腾讯云.Google.百度.IBM.CNNIC 等一些有足够实力的大型互联网公司也非常慷慨地为公众提供了免费的 DNS 解析服务器.异次元这就搜集了全球范围内 ...
- Go语言之闭包
闭包的最初目的是为了减少全局变量,在函数调用过程中,隐式的传递共享变量. 但这样的编辑,带来的坏处是不够直接清晰. 所以,如非必要,不要使用. 对象是附有行为的数据,它在类中集中定义, 而闭包是附有数 ...
- Context连接和断开的情况下的CRUD操作
连续情况下的CRUD操作是一项相当容易的任务,因为默认情况下,上下文会自动跟踪实体在其生命周期中发生的更改,AutoDetectChangesEnabled为true. 以下示例显示如何添加,更新和删 ...
- springboot的三种启动方式
一:IDE 运行Application这个类的main方法 二:在springboot的应用的根目录下运行mvn spring-boot:run 三:使用mvn install 生成jar后运行 先到 ...