使用PHP有段时间了,好吧,只是使用而已。
没做过大型项目,只做过简单的模块开发,见识过 Yii ThinkPHP CI 等开源框架。
但是,只停留在知其然的状态,很想自己弄个框架,由小见大一点一点的做一个东西出来,不知道从哪里入手。
求大神指点迷津。
使用PHP有段时间了,好吧,只是使用而已。
没做过大型项目,只做过简单的模块开发,见识过 Yii ThinkPHP CI 等开源框架。
但是,只停留在知其然的状态,很想自己弄个框架,由小见大一点一点的做一个东西出来,不知道从哪里入手。
求大神指点迷津。
先吐一句:框架和其他程序一样,是用来解决问题的。如果你没有遇到问题,为什么要重新制造轮子?
然后说点正经的:
大部分的Web框架处理以下事情:
核心框架大体就是这些东西吧。外围就是其他常用组件了,设计好即插即用机制就好。
大型框架实现比较繁杂,可以找一些简单的框架入手,再慢慢的体会大型框架的优点。
顺便贴一个我写的框架:https://github.com/easychen/lazyphp/tree/3.1
一般框架 单一入口->
路由->
分发->
渲染,加一些扩展性,给路由,分发和渲染加上接口或者抽象类,再方便点加上composer,再好维护点加模块,然后改BUG。。吐槽
:一般正式项目用较成熟的开源框架比较好,我已领教自主开发框架
对程序员的迫害T_T,优秀自主框架除外。
一般性质的PHP框架最基础部分要包含URL路由与请求分发、数据库连接和操作、模板引擎、常见字符串数组操作、自动加载等功能和模块,可以参考一些实现的不那么晦涩难懂的框架学习,一步步的实现,但是优质的框架并不是类库和功能的封装,还要有机的合理的将上述的功能模块结合在一起才能发挥巨大作用。
如果你的目的是“做个东西”,那么最合理/常见的应该是写个博客程序
广告时间 - 我的PHP框架 LitPHP
虽然0.2版本长了10几行,但289行的代码行数应该还是全球最小的PHP框架
粗看看代码半小时,仔细看也就半天最多,应该能给写框架提供一些思路。
“使用PHP有段时间了,好吧,只是使用而已”。使用的时间估计还是有点短,接触PHP三年以内建议先熟悉一些常用的PHP框架,CI,YII,thinkphp,Laravel,symfony等等,等火候到了再考虑写自己的框架吧。其实用现有框架也好,自己开发框架也好各有道理。前提是你在开发框架前已经了解了其他一些框架的优势和劣势,这样才能开发出更好的框架。如果只是想用框架快速开发产品,建议使用现有框架。
自己开发框架主要的好处是能够让你学习框架怎么写。如果想问如何编写的话,我建议还是从定制某一款框架开始,改成自己需要的或者想要的,学习其中主要的实现流程以及用到了语言的哪些特性。不断的定制修改之后直到最后你把他的核心部分代码也改掉就成了你想要的了。
当然这个过程中也有很多可以思考和借鉴的东西,比如如何支持多线程、多进程、异步日志之类的,如何针对cli模式做优化
善用Composer的话可以自己组装一个,然后自己写的话,可以分部分写
首先定个小目标,写个路由器,然后。。。:
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.1k 阅读
1 回答1.2k 阅读
这个问题本来我不想回答的。但是思考了一段时间后,还是要吐槽下。
首先你要明白你为啥自己开发框架?
我想你自己都没有想的特别明白吧。是为了写个框架,觉得很酷,很厉害,还是仅仅为了顺手,
符合自己的习惯。
楼主自己还是处于初手阶段,对几种不错的框架原理都没搞清楚,就开始写框架。我觉得不是很脚踏实
地。当你了解到现在框架的优劣,原理,觉得不是很便利,或者觉得不是很符合自己的理念,习惯等。
你才去开发。那样你才有实力,才有深刻得理解。
本人当时也是做了很多项目,也用了很多框架,觉得框架不是很符合自己的思想理念。才试着写符合自
己思想的框架。
上面纯属个人理解。言辞不好地方,请多多指教。