文档章节

从零构建PHP商用MVC框架(1.引言)

feiyue
 feiyue
发布于 2015/04/25 14:40
字数 809
阅读 181
收藏 1
点赞 0
评论 1

“从零构建php商用mvc框架”系列教程,会使大家熟练掌握mvc模式,开发属于自己商用php应用。

作者(闵益飞)在互联网行业打拼已经有6年时间,接触的系统产品不下几十种,大多数常用的服务器语言都使用过(asp、asp.net、java、php……),也做过很多企业内部信息系统,使用过很多mvc框架,有企业元老写的mvc框架,也有网上流行的mvc框架,如:java(spring mvc),php的thinkphp、phalcon等等。但是在开发过程中每当遇到问题时,都需要找很多资料去解决问题,如果不巧遇到框架自身问题时更为头疼,就拿thinkphp来说,框架功能特别强大,但是伴随而来的是特别臃肿,大部分功能你都用不上,遇到问题时(或想加一些新的功能逻辑时)如果对底层核心代码不熟悉解决问题会特别难受的。

在2013年下半年之前,作者也是用的thinkphp框架,也基于此框架写过不少系统,但是用的时间长了就感觉此框架有些功能特别不好用,想改又怕升级版本后兼容出问题,而且对此框架的核心代码也没有研究透彻,改不动。2013年下半年后来作者就考虑自己写个php框架(myfmvc),计划在后续的系统中尽量使用自己的框架,并且慢慢完善它,直到现在作者也一直坚持使用myfmvc框架,基本上我做的系统全部基于此框架完成,使用自己的框架有点也比较明显:灵活、熟练、上手快、有问题定位速度快。

myfmvc框架借鉴了thinkphp的很多好用的操作模式及部分操作类库、如连续操作$a->b()->c(),也借鉴了phalcon的框架部分优秀设计思想,本系列教程会从零开始教大家如何搭建php mvc(myfmvc)框架。

mvc框架应该包括路由访问控制、文件日志操作、数据库访问操作、模板引擎!

本教程会分如下章节,作者计划每1-2天更新一章内容,欢迎大家拍板!

1、引言

2、路由

3、文件

  • 文件操作
  • 文件缓存

4、日志

  • 日志操作类

5、数据库

  • 通用数据库操作类(支持多库操作)
  • 数据库操作基类模型
  • 分页处理

6、模板引擎

  • 引入smarty模板引擎

7、常用类库

  • 验证码生成
  • 图片上传
  • 中文转拼音
  • 无限级树操作
  • http请求
  • 文件压缩解压处理
  • html编辑器
  • excel处理
  • pdf处理
  • 生成指定长度纯数字编码

8、项目实践

  • 简单会员系统
  • myfapi接口系统
  • myfcms内容管理系统
  • myfrbac角色管理系统(jQuery easyui

本文转载自:http://www.minyifei.cn/archives/58.html

共有 人打赏支持
feiyue

feiyue

粉丝 12
博文 11
码字总数 366
作品 2
东城
程序员
加载中

评论(1)

ytesgdsga
ytesgdsga
路过 关注一下
从零构建PHP商用MVC框架(2.1 路由-带参数请求)

本节我们就真正进入“从零构建php商用mvc框架”的实际动手阶段,本节的标题是“路由-带参数请求”,我们本节要构建最基本的mvc路由访问控制,举例如:minyifei.cn/?c=test&a=getInfo 能访问我...

feiyue ⋅ 2015/04/25 ⋅ 0

2014年为您细数PHP框架排行榜Top 10

  【IT168 评论】PHP 框架是非常有用的工具,可以帮助开发者构建干净整洁和结构化的 web 开发,同时也加快了创建和维护 web 应用的速度。在这里,我们会介绍排名前 10 并且最受欢迎的 PHP ...

开源中国 ⋅ 2014/01/13 ⋅ 0

2014 年 TOP 10 的 PHP 框架

PHP 框架是非常有用的工具,可以帮助开发者构建干净整洁和结构化的 web 开发,同时也加快了创建和维护 web 应用的速度。在这里,我们会介绍排名前 10 并且最受欢迎的 PHP 框架(排名不分先后...

oschina ⋅ 2014/01/12 ⋅ 88

SwooleDistributed v1.2 发布,分布式通讯框架

SwooleDistributed v1.2 发布了。 更新内容: 完善协程,协程中允许使用异常。 controller中添加了异常的回调,方便统一处理异常回复客户端。 swoole 分布式通讯框架 开发交流群:569037921...

白_猫 ⋅ 2016/09/09 ⋅ 7

为何PHP Cake Framework可以脱颖而出?

  【IT168 评论】PHP Cake Framework是一个免费开源的Web开发框架,为应用程序的构建提供了基础结构,使得Web开发人员能够充分发挥他们的创造力快速灵活的开发网站。该框架需要较少的编码,...

it168网站 ⋅ 2017/02/07 ⋅ 0

快速有效学习php的5个方法

  php是当今最广泛使用的语言,它普遍用于开发基于Web的应用程序和网站。 同时它是最容易学习和使用的。 有很多免费的教程网站,可以轻松地学习PHP。 还有一些网站工具的使用可以加快你的学...

悠闲php ⋅ 2017/01/05 ⋅ 0

利用 Composer 一步一步构建自己的 PHP 框架(三)——设计 MVC

利用 Composer 一步一步构建自己的 PHP 框架(三)——设计 MVC 终于可以 “一次编写,到处发布” 了,泪流满面! 今天凌晨我从一点多开始搞了四个小时到 5:20,终于搞出了个 Emlog 的 Mark...

蜗牛奔跑 ⋅ 2016/10/15 ⋅ 0

推荐19款顶级PHP Web框架软件

  【IT168 技术】PHP是主要用于Web开发的服务器端的脚本语言,也用作通用编程语言。Web框架(WF)或Web应用程序框架(WAF)是一个软件框架,来支持Web应用程序的开发,包括Web服务,Web资源和W...

it168网站 ⋅ 2017/04/24 ⋅ 0

快速高效创建 Web 网站的热门 PHP 开发框架

当今的互联网有无限的可能性,是新的商业世界。每个企业乃至最大的商业巨头都希望拥有一个功能齐全的网站以便有效的提高特定业务的品牌价值。因此,创建一个功能齐全高效的网站需要找到合适的...

凝小紫 ⋅ 2017/01/29 ⋅ 18

简单快速的PHP MVC 框架--CodeIgniter 4

CodeIgniter 是什么? CodeIgniter 是一个简单快速的PHP MVC 框架。EllisLab 的工作人员发布了 CodeIgniter。许多企业尝试体验过所有 PHP MVC 框架之后,CodeIgniter 都成为赢家,主要是由于...

匿名 ⋅ 2017/03/31 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 13分钟前 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 17分钟前 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 19分钟前 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 38分钟前 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 44分钟前 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 45分钟前 ⋅ 0

监控各项服务

比如有三个服务, 为了减少故障时间,增加监控任务,使用linux的 crontab 实现. 步骤: 1,每个服务写一个ping接口 监控如下内容: 1,HouseServer 是否正常运行,所以需要增加一个ping的接口 ; http...

黄威 ⋅ 49分钟前 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 49分钟前 ⋅ 0

nodejs __proto__跟prototype

前言 nodejs中完全没有class的这个概念,这点跟PHP,JAVA等面向对象的语言很不一样,没有class跟object的区分,那么nodejs是怎么样实现继承的呢? 对象 对象是由属性跟方法组成的一个东西,就...

Ai5tbb ⋅ 55分钟前 ⋅ 0

Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库

Q: Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库 A: 执行以下2条命令解决: apt-get install php-mysql service apache2 restart php -m 执行后会多以下4个模块: mysqli mysqlnd...

SamXIAO ⋅ 58分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部