截止目前已经改造了5个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 自定义MVC框架之工具类-图像处理类 这个模型类支持以下功能: >连贯操作,js叫链式操作,连贯操作的函数可以打乱顺序,最后一个函数必须是执行语句的那个函数,如select, delete, update, add等 如 $db->table( 'user' )->where( 'id=1' )->select() 等…
截止目前已经改造了4个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 图像处理类: 1,图片加水印处理( 支持任意位置与九宫格位置 ) 2,图片缩放处理( 等比缩放,不变形裁剪 ) <?php class Image{ //文件路径 protected $path; //是否允许随机文件名称 protected $enableRandName; //文件类型 protected $type; //错误…
截止目前已经改造了3个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 该文件上传类功能如下: 1,允许定制上传的文件类型,文件mime信息,文件大小 2,自由定制文件名是随机还是保持原来的文件名 3,谨慎的检查,友好的错误提示,精确定位文件上传哪一步出问题 测试结果: ghostwu@ghostwu:~/php/senior_php/upload$ tree . ├── 19502QV8-.jpg ├── Upload │   ├── g…
以前写过一个MVC框架,封装的有点low,经过一段时间的沉淀,打算重新改造下,之前这篇文章封装过一个验证码类. 这次重新改造MVC有几个很大的收获 >全部代码都是用Ubuntu+Vim编写,以前都是windows上开发,这次彻底迷上Ubuntu Linux >裸装php,用php自带的服务器解释执行php,缺哪个扩展就装哪个,最后通过整个MVC框架的开发,把Lamp所有的常用配置与细节搞懂 >通过扩展安装,学习扩展开发与php底层源码分析 总之,终于感觉层次又提升了不少. 分页类代码:…
转自:http://blog.csdn.net/jackfrued/article/details/42774459 最近给学生讲Java Web,希望他们能够在学完这部分内容后自己实现一个MVC框架.但是突然发现百度上能搜索到的靠谱的资料并不是很多,有些只是原理没有代码实现,有些有 代码实现但是对于初学者来说理解起来还是比较困难,于是决定把自己讲自定义MVC框架的内容放在这里分享给大家,不仅仅是代码,也有原理和探讨.内容会比 较长,因为我打算用递增的方式讲解如何写一个自定义MVC框架,重点是前…
我们在学习自定义MVC框架的时候常常会听到Model1 ,Model2和MVC.那么什么是Model1 什么是Model2什么又是MVC呢? 什么是Model1? Model1就是一种纯jsp开发技术,将业务逻辑代码和视图渲染代码杂糅在一起. 什么是Model2? Model2是在Model1的基础上,将业务逻辑的代码分离开来,单独形成一个Servlet,Model2也是基于MVC开发 什么是MVC框架? MVC是三个单词的缩写,这三个单词分别为:模型(Model).视图(View)和控制(Co…
一.Model1与Model2: Model1:就是一种纯jsp开发技术,将业务逻辑代码和视图渲染代码杂糅在一起. Model2:Model2是在Model1的基础上,将业务逻辑的代码分离开来,单独形成一个Servlet,Model2也是基于MVC开发 二.MVC设计模式: 由3个部分组成,各部分作用如下: Model:模型,主要用于数据和业务的处理 View:视图,用于数据的显示 Controller:控制器,用于进行流程控制 MVC设计模式的特点: ①一个模型可以对应多个视图 ②显示与逻辑控…
第一章  自定义MVC框架1.1 MVC模式设计    组成:Model:模型,用于数据和业务的处理          View :视图,用于数据的显示          Controller:控制器,用于进行流程控制    特点:1.一个模型可以对应多个视图          2.显示与逻辑控制的分离          3.分层控制,减低了代码间的耦合1.2 DTD验证XML文档        声明:<!DOCTYPE 根元素 [定义内容]>            例:<!DOCTYP…
该教材主要是运用到泛型.反射和实体类扩展属性 步骤一.建立扩展属性类 实体类扩展属性要继承Attribute基类完成 [AttributeUsage(AttributeTargets.Property)] public class FieldAttribute : Attribute { /// <summary> ///是否为主键(true/false) /// </summary> public bool PropertyKey { get; set; } /// <su…
一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入代码 五.我们打开浏览器,就可以看到CI框架的分页已经被我们替换掉了,如图: 总结: 大家可以看到,目前我自己比较好用的一个分页类在CI中可以正常使用,但是翻页之后,是用的 [ ?page=6 ]这种形式来呈现的,和CI还是不符合,我们后续改进一下分页类的写法,符合CI的规范.…
一.参照了CSDN上某个前辈写的一个CI分页类,自己删删改改仿写了一个类似的分页类,代码如下: 二.我们在模型里面写2个数据查询的函数,一个用于查询数据数量,一个用于查询出具体数据 三.我们在控制器里面写入以下代码,见附图: 四.在VIEW里面写入显示代码 五.打开浏览器,我们可以看到效果图,网站地址是符合CI的标准的,而且分页的代码也挺漂亮,很喜欢. 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢.…
---恢复内容开始--- 今天我学习了自定义一个简单的MVC框架,这个我们首先要知道什么是MVC框架! MVC框架: MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结…
springmvc是spring的一部分,也是一个优秀的mvc框架,其执行原理如下: (1)浏览器提交请求经web容器(比如tomcat)转发到中央调度器dispatcherServlet. (2)中央调度器调用处理器映射器handerMapping,处理器映射器根据请求的url找到处理该请求对应的处理器hander及相关的拦截器intercepter,将它们封装成一个处理器执行链并返回给中央调度器 (3)中央调度器根据处理器执行链中的处理器找到对应的处理器适配器handerAdaptor (4…
自定义MVC:(首先了解Model1和Model2的概念) Model1与Model2: Model1:就是一种纯jsp开发技术,将业务逻辑代码和视图渲染代码杂糅在一起. Model2:Model2是在Model1的基础上,将业务逻辑的代码分离开来,单独形成一个Servlet,Model2也是基于MVC开发. 总结MVC特点如下: (1)数据的获取和显示分离     (2)控制器将不同的模型和视图组合在一起     (3)应用分为三部分,三部分之间松耦合并协同工作,从而提高应用的可扩展性和可维护…
仿照SpringMVC,实现一个轻量级MVC框架,知识涉及到了反射机制.注解的使用和一些第三方工具包的使用 思路 主要的总体流程如下图所示 和之前一样,我们定义了一个DispatchServlet,用于拦截请求(这里一般拦截.do结尾的url请求): 之后,DispatchServlet会根据url,找到Controller中对应的方法并执行,返回一个结果. 我们根据返回的结果,来DispatchServlet执行不同的操作(请求转发.页面重定向.返回json数据) 看完这里,总体的思路应该很明…
模型层的封装 模型层封装的原则 介绍: 模型层,也就是Model这一层,用来封装对数据库操作的封装 由于现在主流的编程思想还是OOP面向对象编程,也就是说项目的基本单位就是一个一个类文件,那么如何使用面向对象思想封装对数据库操作呢? 一张数据表对应一个模型类,然后将数据表的增删改查操作,封装到模型类的成员方法中: 根据上面的指导思想,我们来创建模型类:为了方便用户通过类名标识出该类时控制器还是模型,我们每次创建类的时候,通过增加后缀来区分,例如:控制器的后面统一加上:Controller,模型类…
MVC基本介绍 介绍:  mvc是一种编程思想,用来解决开发项目的时候,代码如何编写,项目如何架构的问题,更具体一点就是解决多人协同开发时,如何分工协作的问题,从而提升开发效率 举一个例子:有一个人想开一个饭店,为了节省成本什么都干:发传单.做菜.上菜.结账.刷碗等,这个饭店肯定无法做大,扩展性太低了,所以要想做大,需要找一些专职的员工的作相应的工作,例如: 销售-------搞宣传 厨师-------做菜 服务员----上菜 会计------结账 刷碗工-----刷碗  .... 其中上面的分…
演示地址: http://frame3.diytassel.com  用户名:system  密码:0000    需要的联系QQ:22539134 一.新添加了 1.多语言功能: 2.代码生成器模版:a.可编辑列表代码生成器(Excel风格)模版:b.报表现实代码生成器模版:3.树形代码生成功能:4.动态配置首页功能5.外部邮件收发功能6.办公类型文件在线预览功能:7.表单页面的弹出框:a.左边树:b.中间选择:c.右边显示已选择二.修复1.表格控件子表格展开显示异常问题:2.日期控件偶尔出现…
Autoloader.php 的register和load方法 register方法 if (function_exists('__autoload')) { // Register any existing autoloader function with SPL, so we don't get any clashes spl_autoload_register('__autoload'); } // Register ourselves with SPL return spl_autolo…
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Webdiyer.WebControls.Mvc; namespace MvcGuestBook.Common { public static class MvcPaper { /// <summary> /// 重写PagedList可以使用List集合数据 /// </summary> /// &l…
1.oracle的脚本 create table STUDENT ( sid NUMBER primary key, sname ), age NUMBER, pwd ) ) create sequence seq_student; insert into STUDENT (sid, sname, age, pwd) , '); insert into STUDENT (sid, sname, age, pwd) , '); insert into STUDENT (sid, sname, ag…
0.创建oracle的sql语句如下 --创建表 create table userinfo(id number primary key,uname varchar2(20),password varchar2(20),age number); --创建序列 create sequence seq_userinfo; --添加数据 insert into userinfo values(seq_userinfo.nextval,'holly','123',18); insert into use…
昨天刚入门Maven多模块项目,所以简单写了一个小测试,就是对数据库单表的增删改查,例子比较综合,写得哪里不妥还望大神赐教,感谢! 首先看一下项目结构: 可以看到,一个项目MavenEmployee里面包含了多个子模块,他们的功能分别如下: 这个是项目的实体层,用于存放数据库表的实体.  这个是数据访问层,主要是用于对数据库表格的增删改查操作. 业务逻辑层,主要用于逻辑控制. 这个是控制层,用于控制增删改查的语句,这里用到了+BaseServlet+一点点反射的知识. 在我们的UI层(Webap…
在mvc框架中可以看到事件类,实现事件的监听和触发. 举例: <?php /** * 事件类 */ class Event { // 事件绑定记录 private static $events; /** * 初始化 */ public static function init() { self::$events = array (); // 获取插件列表return true; } /** * 注册事件 * * @param string $event * @param mixed $callb…
php分页类代码,有漂亮的分页样式风格 时间:2016-03-16 09:16:03来源:网络 导读:不错的php分页类代码,将类文件与分页样式嵌入,实现php查询结果的精美分页,对研究php分页原理很有帮助.   php分页类代码 一个功能齐全的php分页类,更改CSS样式文件控制分页效果. 1.在head中包含pager.css <link href="pager.css" type="text/css" rel="stylesheet"…
我们要实现如下图分页效果 这个分页类是在thinkphp框架内置的分页类的基础上修改而来:原分页类的一些设计,在实际运用中感觉不是很方便: 1.只有一页内容时不显示分页: 2.原分页类在当前页是第一页和最后一页的时候,不显示第一页和最后一页的按钮: 3.分页数比较少时不显示首页和末页按钮: 4.包裹分页内容的父级div没有class: 5.针对以上问题逐一进行了修改成如下: 6.如果没有数据不显示分页,如果有一页及以上内容即显示分页: 7.默认就显示第一页和最后一页按钮,但是在当前页是第一页和最…
每个MVC程序员的军火库中,都有这三个工具:一个依赖注入(DI)容器,一个单元测试框架,一个模拟工具. 1.准备一个示例项目 创建一个ASP.NET MVC Web Application的Empty项目,命名为EssentialTools. 1.1. 创建模型类 在Models文件夹下,创建Product类. public class Product { public int ProductId { get; set; } public string Name { get; set; } pu…
前言 前面几篇文章中,我们讲解了Spring MVC执⾏的⼤致原理及关键组件的源码解析,今天,我们来模仿它⼿写⾃⼰的mvc框架. 先梳理一下需要实现的功能点: tomcat加载配置文件web.xml: 调用web.xml中指定的前端控制器DispatcherServlet加载指定的配置文件(一般为springmvc.xml,本文中的为springmvc.properties): 扫描相关的类,扫描注解(@Controller,@Service,@RequestMapping,@Autowired…
任何一个完备的MVC框架都需要解决Web开发过程中的一些共性的问题,比如请求的收集与分发.数据前后台流转与转换,当前最流行的SpringMVC和Struts2也不例外.本文首先概述MVC模式的分层思想与MVC框架普遍关注的问题,并以此为契机结合SpringMVC的入门级案例简要地从原理.架构角度介绍了它对这些问题的处理,包括请求处理流程.消息转换机制和数据绑定机制等核心问题.最后,本文对目前最为流行的两个MVC框架SpringMVC 和 一. MVC 模式与框架 1.MVC 模式 Java We…
一.什么是MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑. 二.编程模式 Model(模型)表示应用程序核心(比如数据库记录列表) 是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中cun存取数据. View(视图)显示数据…