肯定会问:现在的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框架吧的更多相关文章

  1. 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面.

    刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面. 刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面.

  2. 读《架构探险——从零开始写Java Web框架》

    内容提要 <架构探险--从零开始写Java Web框架>首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA.Maven.Git 等开发工具搭建 Java Web 应用:接着通 ...

  3. 自己动手写PHP MVC框架

    自己动手写PHP MVC框架 来自:yuansir-web.com / yuansir@live.cn 代码下载: https://github.com/yuansir/tiny-php-framew ...

  4. 【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 ...

  5. 自己动手写Android数据库框架

    前言 相信不少开发人员跟我一样,每次都非常烦恼自己写数据库,并且那些数据库语句也经常记不住.当然网上也有非常多非常好的数据库框架,你能够直接拿来用,可是 非常多时候我们的项目.特别是一个小型的Andr ...

  6. 手写Spring事务框架

    Spring事务基于AOP环绕通知和异常通知 编程事务 声明事务 Spring事务底层使用编程事务+AOP进行包装的   = 声明事务 AOP应用场景:  事务 权限 参数验证 什么是AOP技术 AO ...

  7. 仿flask写的web框架

    某大佬仿flask写的web框架 web_frame.py from werkzeug.local import LocalStack, LocalProxy def get_request_cont ...

  8. 剖析手写Vue,你也可以手写一个MVVM框架

    剖析手写Vue,你也可以手写一个MVVM框架# 邮箱:563995050@qq.com github: https://github.com/xiaoqiuxiong 作者:肖秋雄(eddy) 温馨提 ...

  9. 手写spring事务框架-蚂蚁课堂

    1.视频参加C:\Users\Administrator\Desktop\蚂蚁3期\[www.zxit8.com] 0017-(每特教育&每特学院&蚂蚁课堂)-3期-源码分析-手写Sp ...

随机推荐

  1. 清除ASPX页面中的meta:resourceKey="[a-zA-Z0-9]+"

    在替换对话框中,选中“使用正则表达式”, 被替换内容,使用 meta:resourceKey="[a-zA-Z0-9]+" 然后替换整个文档就可以了.

  2. java.lang.UnsatisfiedLinkError: C:\apache-tomcat-8.0.21\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

    Tomcat启动报错: 25-Mar-2016 10:40:43.478 SEVERE [main] org.apache.catalina.startup.Catalina.stopServer C ...

  3. A cost-effective recommender system for taxi drivers

    一个针对出租车司机有效花费的推荐系统 摘要 GPS技术和新形式的城市地理学改变了手机服务的形式.比如说,丰富的出租车GPS轨迹使得出做租车领域有新方法.事实上,最近很多工作是在使用出租车GPS轨迹数据 ...

  4. Linux系统管理命令之用户管理

    1.添加用户useradd   2.删除用户userdel userdel aming 彻底删除用户(包括删除用户目录) userdel -r aming 3.用户修改usermod    

  5. netbeans打包成jar

    文件页里找到build.xml文件,打开在</project>前 加入以下代码保存之 按 Ctrl+C 复制代码 <target name="package-for-sto ...

  6. file_get_contents模仿浏览器头(user_agent)获取数据

    本篇文章是对file_get_contents模仿浏览器头(user_agent)获取数据进行了详细的分析介绍,需要的朋友参考下     什么是user agentUser Agent中文名为用户代理 ...

  7. Mecanim 动作复用示例

    Mecanim动作复用 资源包 四个动画文件 一个Controller 不同的模型 让模型都生成Avter,然后让多个模型重用一套动作 复用动作预览 动画状态机 资源地址 Assets Store地址 ...

  8. copy-paste component

    http://www.cnblogs.com/wantnon/p/4579008.html

  9. [No000063]Python格式化输出

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

  10. java 25 - 1 网络编程的概述

    网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统. ...