热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP的哪个MVC框架值得推荐?

PHP的哪个MVC框架值得推荐?:回复内容:!---------------createdat2014-08-23---------------二话不说先来一个Github上PHP

回复内容:

!--------------- created at 2014-08-23 ---------------
二话不说先来一个 Github 上 PHP 开源项目的排名 Search · stars:>0 · GitHub , 好有个概念.

大家的回答都比较老了, 现在是 2014 年 8 月下旬, PHP 最近这几年还是发生了很多变化, 尤其是 Laravel 的出现, 让很多已经开始放弃 PHP 的人又从新回到 PHP 的怀抱.

离开 PHP 是因为觉得社区就是一盘散沙, 大家各种为战, 当我想学个框架, 来提高生产效率的时候, 上 Google 一搜, 出来的就是
  • 50个你必须了解的 PHP 框架>
  • <10个最有名的 PHP 框架>....
真的很吓人, 这么多的框架, 我无从入手.

最后我下定决心, 把每一个框架都学习一遍, 真正在学习的时候, 头又大了, 每一个框架都有不同的代码规范, 不同的架构, 不同 "功能一样调用方式不一样的函数方法" , 可以这么说
每一个框架都在发明属于自己的语言
在学到第五个框架的时候, 我就决定放弃了, 因为, 我觉得, 我虽然年轻, 但是不至于时间如此廉价的浪费掉.

后来一直听说 Ruby 社区有一个叫 Ruby on Rails 的 Web 框架, 是全世界最好的框架, 为了用上最好的框架我开始学习 Ruby 直到接触 Rails, 还记得第一次用 Rails 写 Demo App 的时候, 热泪盈眶呀, 多么好的设计, 并且最重要的, Rails 的社区是如此理智, 大家喊得口号是
  • Convention over configuration;
  • DRY - Don't Repeat You;
  • KISS - Keep it simple and stupid;
  • Don't reinventing the wheel;
  • Optimized for programmer happiness and sustainable productivity
多么智慧, 多么聪明, 又是多么简单的一些想法, 我疯狂的爱上了 Rails.

2012 年末, 无意间在 Tuts+ 网站上看到 Jeffrey Way 的一套 Laravel 3 Essentials ( 注意: Laravel 现在已经是 Laravel 4 了, 这套课程已经 out dated 了 ) 课程, 看完以后对 Laravel 印象深刻, 从那会就一直留意 Laravel 的发展.

2013 年 6 月份, Laravel 4 发布, 集成了 Composer, 框架的可扩展性极高, 还有 100% full testing coverage.

关于 Laravel 4 的好, 我在这个问题里面已经讲了 最好的 PHP 框架是什么?为什么? , 就不复制过来了.

Laravel China:
Laravel China is ready Laravel 中文文档 , 欢迎发起 issue 提交纰漏 和建议 --> Laravel China · GitHub

PHPHub:
最后对 PHP & Laravel 的爱好者喊一句, 我抽空弄了个社区, 欢迎加入一起讨论技术, 一起成长.

PHPhub - PHP & Laravel的中文社区 一个干净, 纯粹的, 积极向上的 PHP 中文社区
网站是使用 Laravel4 编写的, 代码基于 MIT Licence 开源 summerblue/phphub · GitHub , 欢迎大家贡献代码.
逛知乎看到这个问题,想起了多年前的我,过来插句嘴

不聊谁优谁劣,只是谈谈用过的几个框架的感受:

1. ThinkPHP 文档全中文,易上手,对于配置环境没什么要求。当年上学的时候结合sae做个小站上个活动页,很快搞定。可想加点扩展功能的时候就很懵,一是百度不到答案,二是配置起来比较麻烦。

2. Yaf 亚一程鸟哥的作品,据说是世界上最快的php框架,不少大公司的项目都是在此基础上再开发, 用C写的扩展,安装的时候得编译,有点麻烦,需要自己造很多轮子。

3. Laravel 这两年非常火,内置的用户权限和blade模板用起来很方便。结合composer能把你所有想写但不会写或者懒得写的功能都一健怼进来,但在没有国内镜像的时候每次composer install/update都像是在走钢丝,生产环境分分钟要爆炸。文档有中文有英文,遇到问题能从stackoverflow上找到不少答案。

跳出来说,不纠结于使用哪种框架,落地到具体的业务场景,有一套自己最熟悉的开发工具才是最实在的事情。

同样都是菜刀,有的人用来杀猪,有的用来雕花。

况且你大部分时间不是在写代码,而是在改需求。 Kohana(kohanaframework.org/)是我最喜欢的框架,个人从中学习了很多,它的文件系统和结构非常清晰,扩展灵活,安全,HMVC,大量使用了PHP5的新特性,代码非常优雅,文档也不错。

我个人写的超轻微框架也要发布了。 CodeIgniter
中文资料相对比较齐全 简洁 易学 可扩展性强
  1. 入门级别推荐Codeigniter。因为它比较容易上手,有很棒的文档,有中文社区,但是它也有不好的地方,一是Codeigniter不算是完全的OO框架,二是对更大一点的项目而言,功能薄弱了一点,需要自己去拓展。
  2. 功能稍微强大一点的,推荐Yii。它比Codeigniter要复杂一些,文档没Codeigniter的好,所以花的力气要大一些。
个人感觉是,不要太早就上框架,打好基础还是很重要的。
smarty只是模板引擎,应该还算不上是框架吧? yii 快 全 老外一直维护,易理解,看看文档就能快速上手了 国外的CodeIgniter,国产的ThinkPHP
看过许多框架,有些确实强大,但是非常繁琐难懂,比较容易上手的应该属ThinkPHP了
如果你英文阅读能力过硬,还是建议使用国外框架,他们通常强大和健壮的多,缺点就是出现问题的时候你只能在英文世界寻找答案 强烈推荐 Yii 框架
越用越觉得强大。
程序员写项目不就是要讲究效率吗?如果你还在为一个分页、表单验证花大把的时间,那你改试试这个框架了。
不然等着你的就是加班,和加班。 先使用 ThinkPHP 3.2 用作初期使用,做一个完整的产品出来,在使用的过程中要阅读它的源码,最好是自己能去改,因为TP是基于php 5.2设计的,与php 5.3之间的差距还非常大,所以尽可能的按照php 5.3的方式来改TP,改的过程中,自然而然能理解TP的设计原理和一个PHP框架所该有哪些功能。

然后就去使用Laravel 4,因为他语法简洁,使用composer,命名空间等,对于PHP所完成的功能块也清晰。

最后去使用 Smyfony,因为这个框架非常的强大,他会带给你一个完善和爽快的新世界(前提当然是你能充分地理解它的设计目的)。

在使用这三个框架时,你就会充分的理解出他们分别的设计目的和针对的开发团队层次了。

而决定于用哪个,便是由你的项目大小、参与人数、开发者素质多方面决定的了。 Zend
推荐阅读
  • 关于extjs开发实战pdf的信息
    本文目录一览:1、extjs实用开发指南2、本 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • java和servlet交互,JSP与Servlet之间的交互,传值
    一.Servlet首先要明白一点,servlet需要容器的支持才能够运行,如Tomcat、jetty达到servlet的请求,需要ServletRequest对象和S ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
author-avatar
欣儿2502862161
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有