写个PHP框架吧
肯定会问:现在的PHP框架那么多了,为什么还要写一个PHP框架呢?
1、时代:PHP7来了,现在的所有框架都是基于PHP5.x的。到时候PHP7正式推广出来,现有的框架都不能发挥PHP7的最大性能优势,比如强类型和JIT。到时候很多框架就会有一个版本分裂的问题出现了,很多框架需要同时维护两套代码,部分框架可能会力不从心而挂掉了。所以现在要写一个PHP框架就要以PHP7为最低版本要求,虽然现在PHP7还是测试版本,框架开发难度有点大。
2、时长:一个框架开发要多少呢?个人观点:从开发到测试、到实验项目、到内测,应该需要一年到两年的时间吧。再从推出到被大众认知,估计也需要半年到一年的时间。那么整个预算下来,这样一个框架从计划到进入大众视野就需要两年到两年半的时间,而这个时候,预测PHP7已经普遍进入大众平台了。
3、接口:这里说的接口是指对框架使用者的API,从目前国内情况来看,Thinkphp在国内公司中的使用情况占有绝对的数量优势。而且其简单易用的特性也是大家都有目共睹的。用户体验,一直都是中国人最擅长的事情。所以,兼容TP接口吧。
4、架构:MVC架构肯定就得参考国外吧,不过也是建议先规划、再参考,不要完全照搬。一个PHP框架被几乎所有的中高级开发人员在技术上鄙视这种现象不要出现第二次了好伐。
5、附加:现有的PHP框架都是纯PHP的,但是网站的开发却是一个整体,在这一个网站的开发过程中,前端和后台之间的桥梁 JS 就显得格外重要了。所以在新开发的PHP框架中,应该开发配套的 JS 方法库,建议是类似基于jQuery的扩展这一类的。
6、社区:能否考虑与现有社区合并?我建议是与TP的社区,因为大家的接口是一样的。另外一点是TP的社区很活跃,用户量很乐观。很多人用TP也是在用的层面上,并没有很深地去考究框架内部如何实现,所以在应用层面上完全有理由考虑与TP社区合并。在框架架构及内部实现上,可以考虑在TP社区中开辟独立的一块。可以考虑被TP兼并或者兼并TP →_→
7、文档:文档一定要 有序!清晰!美观! 这方面TP绝对是典范。
8、国际化:一定要有英文版本,Github上建议放英文版的。要团结一切可以团结的力量,歪果仁的技术可是很牛的,让他们有力出力吧。TP在这个方面是一个活生生的失败例子,所以它的架构一直被人技术鄙视。。。
So Do it now! 还是 TODO 还是 Let it go
写个PHP框架吧的更多相关文章
- 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面.
刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面. 刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面.
- 读《架构探险——从零开始写Java Web框架》
内容提要 <架构探险--从零开始写Java Web框架>首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA.Maven.Git 等开发工具搭建 Java Web 应用:接着通 ...
- 自己动手写PHP MVC框架
自己动手写PHP MVC框架 来自:yuansir-web.com / yuansir@live.cn 代码下载: https://github.com/yuansir/tiny-php-framew ...
- 【EatBook】-NO.3.EatBook.3.JavaArchitecture.2.001-《架构探险:从零开始写Java Web框架》-
1.0.0 Summary Tittle:[EatBook]-NO.3.EatBook.3.JavaArchitecture.2.001-<架构探险:从零开始写Java Web框架>- S ...
- 自己动手写Android数据库框架
前言 相信不少开发人员跟我一样,每次都非常烦恼自己写数据库,并且那些数据库语句也经常记不住.当然网上也有非常多非常好的数据库框架,你能够直接拿来用,可是 非常多时候我们的项目.特别是一个小型的Andr ...
- 手写Spring事务框架
Spring事务基于AOP环绕通知和异常通知 编程事务 声明事务 Spring事务底层使用编程事务+AOP进行包装的 = 声明事务 AOP应用场景: 事务 权限 参数验证 什么是AOP技术 AO ...
- 仿flask写的web框架
某大佬仿flask写的web框架 web_frame.py from werkzeug.local import LocalStack, LocalProxy def get_request_cont ...
- 剖析手写Vue,你也可以手写一个MVVM框架
剖析手写Vue,你也可以手写一个MVVM框架# 邮箱:563995050@qq.com github: https://github.com/xiaoqiuxiong 作者:肖秋雄(eddy) 温馨提 ...
- 手写spring事务框架-蚂蚁课堂
1.视频参加C:\Users\Administrator\Desktop\蚂蚁3期\[www.zxit8.com] 0017-(每特教育&每特学院&蚂蚁课堂)-3期-源码分析-手写Sp ...
随机推荐
- Java注解一谈
阅读目录 1.元注解 2.自定义注解 3.注解处理器 android注解框架解析 我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里 ...
- 简述MVC框架模式以及在你(Android)项目中的应用
标题是阿里电话面试的问题,一直以为自己很清楚MVC模式,结果被问到时,居然没法将MVC和Android中各个组件对应起来,所以,面试肯定挂了,不过面试也是学习的一种方式,可以知道大公司看中什么,以及自 ...
- ASP.NET features need application service database support
搭建的web程序出现如上图所示的错误 原因程序使用以下ASP.NET 特性 Membership (the SqlMembershipProvider class). Role management ...
- 将long数字序列化为json时,转换为字符串
由于javascript中所有数字都是64位的浮点数,所以整数只能精确的表示53bit长的数字. 在从server得到的json数据中,有ID是长整数类型,在客户端根据此ID生成的link也是不准确的 ...
- 关于UNPIVOT 操作符
UNPIVOT 操作符说明 简而言之,UNPIVOT操作符就是取得一个行的数据集合,然后把每一行都转换成多个行数据.为了更好地理解,请看下图: 图1 从上图中,你能发现UNPOVOT操作符,取得了两行 ...
- Thrift 跨服务开发框架
Thrift概述 Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP,Ruby, Erla ...
- android 设置布局为无标题样式
<!-- Application theme. --> <style name="AppTheme" parent="android:Theme.Lig ...
- MySQL版本介绍
MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择. 1. MySQL Community Server 社区版本,开源免费, ...
- iTOP-4412嵌入式开发板ioremap控制GPIO寄存器
转自迅为电子技术论坛:http://bbs.topeetboard.com GPIO 的寄存器通过 ioremap函数转换之后,可以通过直接控制虚拟地址来控制物理地址(寄存器的实际地址),这样就实现 ...
- Hadoop安装lzo实验
参考http://blog.csdn.net/lalaguozhe/article/details/10912527 环境:hadoop2.3cdh5.0.2 hive 1.2.1 目标:安装lzo ...