肯定会问:现在的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. OEM代工厂产品经理个人经历谈

    创业不是一件随随便便的事情! 到2007年时,我已经在上海.广州.东莞三地的工厂打工有十来年了.正是这个时间结点,我也即将做父亲了.打了很久的工后,就开始感到疲倦,做来做去,都是给老板做,也就在这时开 ...

  2. SQL挑战——如何高效生成编码

    有这样一个需求:需要根据输入的编码(这个编码值来自于数据库的一个表)生成下一个编码,编码规则如下所示(我们暂且不关心这个逻辑是否合理,只关心如何实现): 1: 最小值为A0000, 最大值为ZZZZZ ...

  3. MYSQL-GroupCommit

    组提交(group commit)是MYSQL处理日志的一种优化方式,主要为了解决写日志时频繁刷磁盘的问题.组提交伴随着MYSQL的发展不断优化,从最初只支持redo log 组提交,到目前5.6官方 ...

  4. su,exit,adduser,deluser,usermod,groups

    exit 退出当前用户 su 切换到指定用户,缺省表示切换到root用户 adduser 创建一个用户的时候其实是创建了一个用户和同名的用户组,它们都会UID,所属的GID,创建时一个用户属于和自己同 ...

  5. 工作中常用的Linux命令:find命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6056571.html (转载请注明出处) 1.命令格式 find [-H] [-L] [-P] [-D deb ...

  6. jQuery 3.0 的变化

    时隔 3 个月,jQuery 团队终于发布了 3.0 Alpha 版本.有两个版本 jQuery compat 3.0 和 jQuery 3.0. jQuery compat 3.0 对应之前的 1. ...

  7. 【JAVA小结】类的属性组的使用

    public class UsingAttribute { static String strA = "string-a"; static String strB; static ...

  8. python 的异常及其处理

    Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言 ...

  9. Scala编程第二课

    函数式编程 函数式编程,结构化编程,OO编程都是编程的方法论. 函数式编程主要思想是把运算过程尽量写成一系列嵌套的函数调用. 特点如下: 1.函数可以像其他数据类型一样使用 可以可以赋值给其他变量,可 ...

  10. [转]jQuery: how to get which button was clicked upon form submission?

    本文转自:http://stackoverflow.com/questions/5721724/jquery-how-to-get-which-button-was-clicked-upon-form ...