当前位置: 首页 / 网站建设 / 正文

刚学php有必要使用开源框架来做项目吗

发布时间:2020-02-27 12:48:49 作者:小超越君

框架就像巨人的肩膀,让你站得高,看得更远。但是打铁仍需自身热,基础不容忽视,框架也是由基础一块块砖搭建起来的,学习基础,了解框架的设计原理,作者的思路,这是你所需要的,有人自己撸框架,也有用优秀开源的,这是必不可少的,快速迭代开发是硬性要求。
刚学php有必要使用开源框架来做项目吗

刚学php有必要使用开源框架来做项目吗

如果你是一个新手当然是不建议你使用框架的,你当前需要做的事情就是学习基础数据结构,流程控制,函数及常用库,深入学习算法与数据结果。等到你有一定的实力写一些小的项目后,建议精阅读一些优秀框架的源代码,学习作者的设计思路。大家之所以学习能够进步,是因为学以致用,所以最后的建议是自己写一个框架,适用大众需求的框架。

Web框架需要具备什么?
路由,模板渲染引擎,数据库等连接,常用函数库操作,当然不止这些,一步一步来,逐步迭代升级。

使用的框架不是指的开源的优秀框架,开源的优秀框架其实是大众的需求,很多的需求杂糅在一起,很多的功能你未必用得到,显得格外的臃肿。想必每家公司都有自己实现的框架,适应自家的业务需求,业务解耦等。

为什么最后还是建议大家使用框架呢?站在巨人的肩膀上!通常们的业务需求需要在很短的时间内实现,产品恨不得开发今天完成开发,测试,明天上线,如果们每天都需要不断重新实现ORM、CURD等重复的代码,构建自己的路由,渲染html模板,或者实现API接口供前端调用,这是一件多么费时间的事情,不仅让程序员的开发工作变得无聊,也拉低的工作效率。

框架是一件艺术品,是匠人的作品。同时它也为们打下的坚实的基础,方便们在此基础之上建立更高的建筑。虽然这可能是公司架构师的职责,但是们同样可以为其添砖添瓦,不断你的优化它,适用们更多的业务需求,助力们快速迭代产品。

那么到底需不需要框架呢?如果你需要,那么你已经在更高层次的路上了。

优秀的php开源框架

1、Laravel

Laravel是一个为Web开发者打造的PHP开发框架。

2、Yii
Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架。

3.thinkphp
因为是国人开发维护,所以是国内使用最多的php框架

当然很多PHP工程师只停留在使用框架的层面,然而对框架底层根本没有深入去了解,那么这就会给自己的职业生涯带来一定的瓶颈,当遇到问题的时候你就无从下手,不知道如何去排查与调试,更别说去扩展核心库,相反,如果大家对框架底层源码有一定的了解,这样的问题就变得简单很多, 学习某一项语言都是需要耐心,学习框架贵在坚持,这会让你对PHP全局以及框架底层有质的飞跃。

如何选择一门框架呢?就拿PHP来说吧,PHP有N多框架,比如YII,ThinkPHP,laravel等等,这几个都有自己的优势和特点,在国内ThinkPHP确实用的很多,这里其实我想表达的是:不管你学习哪个框架并不重要,我们需要选择一个然后安心的学好它的底层,学习需要坚持,耐心+时间,比如你学会了一个框架之后,那么其他框架你自学下很快就会上手,因为框架的核心思想基本是相通的,它们的基础都是PHP,不要想得太复杂。那么现在就就拿ThinkPHP来举例,我们如何学习他的底层呢?

我们可以从以下几个方向入手:

一、 框架中是如何加载这些类库的?

学习框架底层如何加载类库这一步是必须的,因为我们要知道框架是如何加载不同目录下的不同文件,如果是框架通过composer安装的类库,同样我们都要弄清楚是如何被加载到框架的,那我们就要从think\Loader.php文件入手了。接下来如何做?所以学习框架底层一定要带着问题和思考的态度去学习,这样成长肯定很快。

比如我想自己创建一个自定义leifeng目录 也想把它被加载到框架中,当你了解了如何加载文件的,也试试加载自己定义的文件吧。这个时候恭喜你底层第一步你搞懂了。

二、设计模式学习(工厂模式、单例模式、注册树模式、门面模式等)

你想提升自己php的技能,那你就必须学习一下设计模式,虽然这个经常在面试中遇到,但是希望你不仅仅只是为了应付面试,而是要真正的弄清楚什么是设计模式。我之前整理过,可以看看这个教程

三、反射机制学习

什么是反射呢?

在PHP的面向对象编程中的对象,它被系统赋予自省的能力,而这个自省的过程,我们把它叫做反射。

我们对反射的直观理解可以是,根据达到地,找到出发地和来源这么一个过程,通俗来讲就是,我给你一个光秃秃的对象,完事你可以根据这个对象,知道它所属的类,拥有哪些方法。

在PHP中,反射是指在PHP运行状态中,扩展分析PHP程序,导出或者提取出关于类、属性、方法、参数等的详细信息,包括注释。这种动态获取信息以及动态调用对象方法的功能,被称为反射API。

四、依赖注入 控制反转

经常听过吧,是否有去了解,敲敲代码实现一下。简单了解一下

(1)依赖注入是从应用程序的角度在描述,可以把依赖注入,即:应用程序依赖容器创建并注入它所需要的外部资源;

(2)而控制反转是从容器的角度在描述,即:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源.

我之前整理过,可以看看这个教程

五、研究TP框架中的容器、门面Facade think/Container think\Facade

六、路由

以上2-6点的具体分析 可以直接通过index.php入口文件去跟进,看看框架里面走了哪些流程,如何实现,用到哪些工具栏,环境变量,如何配置等等。

说到框架的路由是如何做的,通过跟进,我们会在App类中 在routeInit路由初始化这个方法,它是路由的核心,具体基础路由类库是如何引入的。你都能看的明白的

七、底层控制器、模型、视图的基础类库分析

八、其他一些工具类的分析

比如:异常处理、缓存等核心类库分析。

以上这些基本上涵盖了框架的核心内容,代码本来就是很枯燥的一个东西,在研究框架底层这个过程更是枯燥和痛苦的,但是我们需要坚持【坚持下来就能改变世界了】阅读框架代码不是看一遍就完事了,看不懂,我们就多看几遍,并且在看的过程中我们还需要做点如下几点:

1、在你有疑问的地方打上断点,输出相关的内容出来 看看他到底返回什么内容,因为这样更加直观,便于你真正意义上理解

2、我们需要思考它为什么要这样做?我这样做可以吗?能不能变通、或者有没有更好的方法?因为带着问题和思考的态度去学习 更加有利于你的个人成长

3、在研究源码的时候有不懂得地方肯定很正常的,这个时候一定要记住多利用百度或者谷歌

4、有个讲师提醒我,一定要多画图, 因为您去研究源码然后还能通过图的方式画出来 这更加有基于您学习以及深入理解,它真的能起到事半功倍的作用!

文章允许转载,请保留本文链接:https://www.zhe94.com/612.html

小超越
热爱折腾,曾想着改变世界,如今只能向生活低头,寻找可口的牛奶和面包
添加站长微信作者头像
专注高品质湛江网站建设及湛江SEO优化服务 立即咨询