说说自己写PHP框架的一些感受

个人感受

我以前觉得,造一个框架,不是很难,其实我现在也是这么认为的,不是说我到底有多么厉害,其实我仅仅是觉得,造出来不难,恰恰是造出来之后,你要去 “养育” 它,这对我来说,则是最难的,我现在正是体会到了。

不知不觉,我已经写过3个框架,其实都均已模仿他人框架为主的,然后肯定没有对方的好,当然有自己的一些想法融入里面了。然而,目前还存活的还剩下最后一个,他就是 FastD,不去总结不知道,这个东西喔已经 “养”了快一年了,感觉还不错,算是3个框架下来,比较 “好” 的了。

FD第一次拿出来的时候如果我没有记错的话是 2015年的新年后的第一个工作周,当时拿了出来演示了给部门的同事看,大家的反应都不错,这让我激情四射啊。?

其实说老实话,我觉得自己也是一枚菜鸟及新手。造这个框架的初衷仅仅是想尝试下,然后进而发展到,让其他人都用上,目前算是实现了目标吧,因受 Symfony 框架的影响哈。


个人看法

然后我说说自己对当前PHP框架的一些看法吧。

我觉得现在市面上充斥着很多的 php 框架,其实每个框架上,都有自己好的一面,也就是可以参考的地方。其实我偶尔会在一些群上看到 "xxx是世界上最好的框架,没有之一",额,这到底对 xxx 框架有多狂热呀,和 “xxx是世界上最好的语言,没有之一” 一样,虽然说是老梗了,但其实是毫无意义的,包括有一些工作久的也会犯这些毛病。额,不好说吧,唉,自己顺手就好。

我接触的框架也不算多,也就几个,寥寥可数啊。但其实细心可以发现一个很基础的点就是:路由是一个框架灵魂,这么说不是没有道理的,目前咱们看到的框架,大部分都是只处理 “一个” 事情,Http 请求。而这个请求,看来则是一个由 “控制器” 及 “方法” 组成的指定地址而已,也就是咱们开发中所说的 路由,每个请求都是一个 路由,第一时间经过的,一定是路由,由路由负责解析到指定的方法。那剩下的就是处理了,至于是MVC还是其他,自定定制吧。

嗯嗯,还有,顺便提醒一下咱们这些搞PHP的,一定要学好面向对象 一定要学好面向对象 一定要学好面向对象

好了骚年,继续努力吧。

我个人推荐学习的有几款框架:

  1. Symfony / 社区

  2. Laravel

  3. Yaf

顺便推广一下 Swoole

PHP比你想象中的要牛逼。

说说自己写PHP框架的一些感受相关推荐

  1. 视频教程-手写Java框架系列教程之一反射(含配套资料)-Java

    手写Java框架系列教程之一反射(含配套资料) 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业 ...

  2. PHP框架编写和应用知识点,写PHP框架需要具备那些知识?

    原标题:写PHP框架需要具备那些知识? 后盾网 如果没用过框架,讨论各个框架的内容都没有可讨论性,想自己写个框架涉及到的内容很多,个人觉得自己写一个框架对自己的逻辑思维,开发架构以及这门语言都有质的提 ...

  3. 【Java ORM】手写ORM框架:源代码、jar、生成JavaDoc文档

    SORMSourceCode 把这个手写框架取名为SORM. (1)源代码(Eclipse项目文件):GitHub地址 (2)jar包.源代码.JavaDoc文档.使用说明:Github地址 一个简单 ...

  4. 【原创】如何写一个框架:步骤(下)

    [原创]如何写一个框架:步骤(上) 说明:写本文的时候作者完全是把脑子里的东西写了出来,没有参考任何的资料,所以对于每一项内容可能都是不完整的,不能作为一个完整的参考.有一些方法学的东西每个人都有自己 ...

  5. 自己动手写ORM框架

    自己动手写ORM框架(九):实现删除功能Remove方法 奋斗 2010-07-03 19:29 阅读:1962 评论:6   自己动手写ORM框架(八):实现修改功能Update方法 奋斗 2010 ...

  6. 写一个框架的详细步骤

    定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等. 如果你打算写框 ...

  7. 从零开始写一个框架的详细步骤

    定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等. 如果你打算写框 ...

  8. 手写篇:如何手写RPC框架?

    手写篇:如何手写RPC框架? 首先我们讲下什么是RPC? RPC(Remote Procedure Call)远程过程调用协议,他是一种通过网络从远程计算机程序请求服务.简单的来说,就是通过网络进行远 ...

  9. Android 开发之手把手教你写 ButterKnife 框架(三)

    系列文章目录导读: Android开发之手把手教你写ButterKnife框架(一) Android开发之手把手教你写ButterKnife框架(二) Android开发之手把手教你写ButterKn ...

最新文章

  1. 智能合约开发环境搭建及Hello World合约
  2. 35岁,工作十几年,被开除15次,面试被拒200多次,还有必要继续做程序员吗?...
  3. cad缩小了怎么还原_新手必备,CAD常用50个技巧
  4. 自己动手写第一阶段的处理器(1)——计算机的简单模型、架构、指令系统
  5. System.currentTimeMillis()用法及其计算方式与时间的单位转换
  6. centos 开机启动java_Centos 7将java jar包自定义开机启动服务
  7. java子类继承父类实际_java子类继承父类,是否生成父类对象?
  8. golang nil切片与空切片
  9. 弹窗实用素材模板|UI设计中的弹窗设计技巧,快get
  10. Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符
  11. android 通过短信找回密码,如何通过强力安卓恢复精灵找回丢失的手机短信?
  12. shiro框架的使用
  13. 将文件夹下所有csv文件转换成所有txt
  14. 熊猫烧香病毒的分析报告
  15. r4烧录卡内核安装_R4烧录卡NDS内核,绝对可用
  16. excel合并计算机操作,电脑把多个Excel文件合并成一个文件的方法
  17. 二进制转换成格雷码的方式
  18. 计算机与打印机脱机后怎么共享,电脑重启后共享打印机脱机的解决方法
  19. rMATs 分析可变剪切
  20. 《编译与反编译技术》—第3章3.1语 法 分 析

热门文章

  1. C#中的类声明和对象定义方法实验
  2. STM32(五)------GPIO位带操作
  3. 解决ubuntu和windows之间无法复制粘贴问题
  4. ios上textarea不能输入
  5. HDU 6581 Vacation
  6. 5-9 c语言之【初识win32编程】
  7. php遍历文本文档txt文件中的链接内容为数组
  8. centos 中设置网卡等相关参数
  9. 实例分解神经网络反向传播算法(转)
  10. 从SQL过渡至MongoDB查询对照表