2020-12-31 15:01:33 阅读(167)
毫无疑问,Web框架技术近年来取得了快速的发展和普及。在过去的几年里,框架技术通常经历了一个相对较大的改进过程,其中很大一部分可以归因于RubyonRails和其他编程语言中的MVC框架思想。 如果你是PHP忍者,而不是铁杆Ruby追随者,你可能会惊讶于市场上有这么多框架,哪一个适合你。当然,答案和问题取决于许多因素。今天,我们将回顾如何为您的下一个应用程序系统选择适合您的PHP框架的典型问题。 同时,让我们来看看流行的PHP框架,比较它们的区别,这可以帮助你做出明智的选择,找到最适合你项目的框架。 明确你的需求 在你决定为你的项目选择一个框架之前,你首先了解需求、需求和一些开发团队的幕后工作。我们总结了以下问题,你可以试着在下一步开始之前问自己。 你的应用主要集中在解决哪些问题上? 您的应用程序可以是电子商务平台、社交网站、新闻共享平台或活动目录。例如,如果您正在建立一个电子商务网站,您可能希望选择一些成熟的扩展函数库框架来处理信用卡和交易会话。另一方面,如果它是一个轻量级的新闻平台(如微博系统),为了实现负载平衡和快速连接访问,您可能应该更加关注跨服务器和跨数据的快速扩展和支持访问能力。 您的主机运行环境将是什么? 一些特殊的框架需要在服务器上安装一些非默认的PHP扩展或软件。例如,一些框架的数据抽象层必须通过PDO访问,而不是直接调用更底层的MySQL或MySQLI,或者一些类似Wiki程序的图像压缩和处理功能通常需要使用ImageMagick或Graphiviz等外部程序。这些扩展可能不会得到所有共享主机环境(虚拟主机)的支持。此外,即使是一个轻量级的小框架,它也集成了所有所需的函数库,具有良好的可移植性和适应性。当处理数据密集型操作或大型数据处理系统时,该框架的性能将成为其主要瓶颈。 你的开发人员或团队有什么优缺点? 如果你是一名项目经理,一件重要的事情是了解你的具体开发人员的能力和弱点,因为他们真的很无聊,所以也许你可以选择一些更友好的开发人员的框架。当然,这个问题可能不是决定是否使用一个框架的决定性因素(不断要求自己和团队学习新技术总是好的),但它绝对是一个重要的考虑因素,会影响你的时间表、预算和安全。 如何在“高耦合”或“低耦合”框架中做出选择? 从框架产品本身的耦合来看,主流php框架产品分为高耦合和低耦合。低耦合框架看起来更像是一个丰富的函数库和逻辑包装的抽象层,甚至一些好的框架本身也是PHP的先进扩展组件,如PDO,它绝对是一个数据访问框架和抽象层。还有ZendFramework等其它值得一提的低耦合框架,CakePHP,而国内开发的ThinkPHP也属于这一类。如果你有更多的历史问题,并且对UI有更高的自定义,你可能需要一个低耦合框架来满足你的灵活需求。 另一方面,它代表了一些高耦合框架,例如一些来自CRM的框架类似于Drupal,Joomla,OpenbizCubi框架是直接为高耦合而开发的,国内小规模流行的框架有普元等。这些框架最好的特点是你只能专注于实现你的核心业务逻辑,你甚至不需要关心如何实现UI和用户对话管理的基本特征,你只需要“连接”你的代码和他们提供的接口规范。如果你负责的项目是一个新项目,你肯定不想把大部分时间花在实现基本的业务逻辑上,比如为客户公司开发一个“停车场管理系统”,或者选择OpenbizCubi等框架,直接实现你的业务逻辑是最值得你的时间预算和投资回报的。本次测试输出简单的hellloword,简单的MVC逻辑,(Router->Controller->Viewer),没有数据库连接,没有逻辑。CPU硬件平台:Intelcorei5750(2.67GHz4)RAM:Debian6.00GB软件环境.4x86_64(2.6.32-41apache2.2.16(mpm-prefork,mod-php5)php5.3.10php-apc3.1.9(Optimizationforinclude/require)Copyallprojectsto/dev/shm/*(Optimizationforfilesread/write)PHP框架列表*zf:ZendFrameworkSite:http://framework.zend.comVer:1.11.11*zf2:ZendFrameworkSite:http://framework.zend.comSite:https://github.com/zendframework/ZendSkeletonApplicationVer:2.0.0-beta1*symfony:symfonySite:http://www.symfony-project.orgVer:2.0.0*cakephp:CakePHPSite:http://cakephp.orgVer:2.0.4*ci:CodeIgniterSite:http://codeigniter.comVer:2.1.0*yii:YiiFrameworkSite:http://www.yiiframework.comVer:1.1.8*micromvccc4:MicroMVCSite:http://www.micromvc.comVer:4.0.0*laravel:Laravel,APHPFrameworkForWebArtisansSite:http://laravel.comVer:2.0.2*slim:SlimFrameworkSite:http://www.slimframework.comVer:1.5.0*yaf:YetAnotherFrameworkinPHPExtensionSite:http://code.google.com/p/yafphpVer:2.1.3-beta(yaf.cache_config=1)*FuelPHP:Simple,Flexible,CommunitydrivenWebFrameworkSite:http://fuelphp.com/Ver:1.1*ColaPHP:Site:http://code.google.com/p/colaphp/Ver:1.2-ga#XHProf:AHierarchicalProfilerforPHPSite:http://pecl.php.net/xhprofVer:0.9.2#Thesourcecodeofthistesting:Source:https://github.com/eryx/php-framework-benchmark1.ApacheBenchmarkRequestspresecond(-c100-n30000),thebigerisbetter请求/秒(-c200-n50000),值越大越好2.系统负载压力测试一分钟内完成的负载图越小越好(-c100-n30000)3.内存利用率测试helloword占用的内存,越小越好.4.响应时间页面的响应时间。单位微妙5。调用方法的数量(FacebookXHProf)单helloword页面调用了多少方法,zend5620方法,是不是太臃肿了?6.用于includedorequiredin的文件数量打开hellloword。越小越好。zend多,yi19,yaf只有4。奇怪的是,不快乐。
以上就是关于性能基本评测:PHP框架的选择的相关介绍,更多性能基本评测:PHP框架的选择相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对性能基本评测:PHP框架的选择有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一