PHP的哪个MVC框架最值得推荐
发布网友
发布时间:2022-04-23 17:28
我来回答
共2 个回答
懂视网
时间:2022-04-06 05:00
“在上文中对make方法执行后返回实例进行了解析,本文将会对invokeClass方法详细解析。
”invokeClass方法详细解析(反射的使用)
不管是阅读完上边的代码流程,还是上图的流程图,肯定都知道了最终代码会走向一个方法invokeClass
,就是这个方法。
这个方法中全部都是利用反射的知识点,不会的在去看上文或者之前的文章吧!
在invokeClass
方法中,最重要的就是绑定参数的这个方法bindParams
,这个方法里边也全部运用的是反射。
所以在容器中反射起到的作用有多大就不用在去做过多的说明了。
在这之前需要把这块说明一下,看到这个__make方法,咔咔是记忆尤深哈!
这个方法在之前学习config源码配置那一篇文章中咔咔说暂时略过,因为当时所储备的知识点和框架代码执行流程还没到说明__make这个方法的阶段。
为了就是在容器这里详细的说明__make这个方法的作用。
当你打印reflect这个变量的值时会返回俩个反射类的对象,如下图。
代码$reflect->hasMethod('__make')
就是判断此反射类里边是否存在__make函数
代码$method = new ReflectionMethod($class, '__make');
就是执行反射类的一个方法 这里就指的是__make方法
当断点这个method就会返回俩个存在__make反射类,这里是因为断点了只有显示了俩个反射类。
这里主要谈论thinkConfig.
最后一行代码$method->isPublic() && $method->isStatic()
就是判断方法是不是公公共的 判断方法是不是静态的
直到运行到$args = $this->bindParams($method, $vars);
这行才会进入到bindParams
方法,这个方法也会在下文给出详细的解析。
到这里invokeClass方法详细解析就结束了,主要就是运用的反射机制的实现一系列功能,利用反射进行依赖注入,执行类中的__make方法
“坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。
”
热心网友
时间:2022-04-06 02:08
1、Laravel,laravel这个框架很有意思,定时任务,数据迁移,大概你能在web中想到的功能这个框架都可以提供,它的路由借鉴了Ruby on Rails 和Python的flask框架,但是还提供了web方面其它的一些功能,你可以把它想象成PHP中像Java一样强大的Web中的瑞士军刀,前提是你不考虑性能,因为它的实现使用了大量的闭包和反射,大概在PHP里严格引入设计模式的也只有这个了。
生产效率:5星
学习难度:5星(5星为最难,学习成本最高,下同)
性能:2星
社区活跃:4星(社区活跃可以很方便的找到别人已经开发的功能,专指中文文档,组件丰富性)
2、ThinkPHP5,大概3年前研究过TP3源码,使用起来简单,因为自动加载的问题,性能是个坑,现在发展到5,个人认为已经是一个相当优秀的框架了,路由定义简单,配置简单,文档丰富,社区也相当活跃
生产效率:5星
学习难度:1星
性能:4星
社区活跃:4星
3、Yii2,Yii2的路由分发跟TP5稍微有点不一样,也使用了反射的功能,自动加载现在都使用的composer,大体上都差不多,都有延时加载,Yii2的路由相对智能一些,不用去手动维护,类似于TP3所以使用起来也是很方便,性能比TP5应该略差点,没测试过,从源码来看
生产效率:5星
学习难度:2星
性能:3.5星
社区活跃:4星(很多强大的组件,你只要下载就行了,会省很多事)
4、CakePHP,这个框架内部的封装性看上去没上面那几个优美,但是它自己实现了use关键字功能,所以兼容性来看应该是比上面那几个好点的,但这在新项目上应该不是问题,新项目上PHP7,啥都别想,准没错。它的路由定义类似于TP5但是稍微多点功能,不过其实是个鸡肋。中文文档就不说了,很不好找。不过也算是个相对简单的框架严格遵循MVC
生产效率:3星
学习难度:3星
性能:4星
社区活跃:2星
5、Workman,这个框架相当强大,如果你要实现一些复杂的协议或者用php做一些websocket推送或者TCP/UDP服务器的话,这个框架可能可以满足你的需求,也有一些异步的组件,比较高级的框架,初中级程序员可能用不上
生产效率:3星
学习难度:4星
性能:3星
社区活跃:2星
6、swool,这是个相当有意思的框架,性能很强大,旁友,你听说过异步编程的nodejs,python的tornado框架吗,这个在php里做的就是一个这样的事情,国内的一位老兄开发的C扩展,用php来异步编程,看了下文档,稍微做了个性能测试,相当优秀,就是不知道在项目中重度使用会不会踩到什么坑,而且这也是一个相当高级的框架。大部分人可能直接转node了吧,毕竟node生态环境已经相当好了,总之,如果你想用php试试异步编程来提高性能,非这个框架莫属。性能独一档,编程难度也相对高一些,你需要有些进程的理论基础
生产效率:3星
学习难度:4星
性能:6星
社区活跃:2星
7、Yaf,鸟哥写的c扩展框架,然而你要自己实现很多轮子,生态环境是个大问题。
生产效率:4星
学习难度:4星
性能:5.5星
社区活跃:2星
其它框架还没怎么了解,国内的话,根据具体业务,选上面几个,没错。
php mvc框架哪个好
最佳PHP MVC框架:Laravel PHP中有许多MVC框架可供选择,其中Laravel被认为是最好的之一。以下是关于Laravel的详细解释:1. 功能性强大且灵活 Laravel作为一个PHP的MVC框架,提供了丰富的功能和工具,包括路由、中间件、迁移、ORM等。这使得开发者能够快速地构建出复杂且健壮的应用程序。此外,它的表达性语...
php mvc框架有哪些
Laravel是近年来非常受欢迎的PHP框架之一。它提供了简洁的路由、强大的依赖注入容器、表达性模板引擎等功能。Laravel注重开发者的体验,提供了丰富的艺术风格和工具,使得开发过程更加愉快。同时,Laravel的社区活跃,有大量第三方扩展可用。Symfony是一个完整的PHP框架,提供了丰富的功能和工具集,包括Web开发、...
PHP的哪个MVC框架最值得推荐
1、Laravel,laravel这个框架很有意思,定时任务,数据迁移,大概你能在web中想到的功能这个框架都可以提供,它的路由借鉴了Ruby on Rails 和Python的flask框架,但是还提供了web方面其它的一些功能,你可以把它想象成PHP中像Java一样强大的Web中的瑞士军刀,前提是你不考虑性能,因为它的实现使用了大量的...
PHP最常用的框架是那几个·_php开发框架排行
SpeedPHP框架是从实际运行的商业系统中取其精华而成的,在稳定性和运行速度上都非常出色;同时有着清晰的架构,更有利于提高团队开发效率,教程众多,入门容易,号称最适合初学者的PHP框架,快速带你进入PHP高手的行列。 CdvPHP一款简单开源PHP框架,灵感来源于DX,根据实际开发总结汇成快捷方便的轻量级框架。没有太多的硬性要求...
CodeIgniter为何成为PHP MVC框架的赢家?
CodeIgniter是一个PHP MVC框架,由EllisLab团队发布。在众多PHP MVC框架的试用后,它凭借其提供的充足自由度脱颖而出,让开发者能更高效地工作。这种自由体现在无需遵循特定的数据库表命名规则,也不必在模型中映射表结构,特别适合重构那些结构复杂的老式PHP应用。CodeIgniter的代码量相当轻巧,1.6.2版本...
PHP的MVC框架哪一个性价比最高
1、国内常用的TinkPHP 比较适中 2、Codelgniter 以它的简单易用,性能和速度而闻名。与 Symphony 不同,这款PHP开发框架对于共享主机的用户而言很理想,如果你想有一个小型覆盖面的框架。它提供了简单的解决方案,还有扩展的知识库,通过视频教程,用户指南和wiki来提供支持。3、Yii 是一个基于组件、...
FleaPHPMVC模式
FleaPHP采用了passive MVC(被动模型-视图-控制器)模式,这是一种将应用程序逻辑分解为独立部分的设计策略。在passive MVC中,Model,即模型部分,扮演着核心角色。它封装了与业务逻辑紧密相关的代码和数据,如订单的计算等,保持与MVC架构的隔离,使其成为一个独立的对象。View,或视图,负责将数据呈现给...
b2Core简介
[2]b2Core的灵活性体现在其模块化的设计上,开发者可以根据项目需求自由选择和扩展功能,这使得它在处理不同规模和复杂度的项目时都能游刃有余。[3]总体来说,b2Core是一个专为提升开发效率和学习体验而设计的php MVC框架,对于初学者和寻求高效开发工具的开发者来说,是一个值得尝试的选择。[4]
顶级PHP开发框架
1. Yii Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不...
用过php框架的请进来,有哪些php框架,优缺点和稳定性?
我会首选CakePHP或者Yii。都有很强大的router、caching、auth、l18n等等,都是基於MVC的。我瞭解的CakePHP比Yii多一些,给我的感觉是速度不怎麼样。我刚去Yii的网站看一下,他们的介绍中,在主流框架中,速度是最快的,所以我建议你可以选Yii。