热门标签 | 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
推荐阅读
  • 用户体验这点事儿
    2009-02-1518:03byMainz,3366visits,网摘,收藏,编辑用户体验设计最近比较热,从以前的轻视UI到现在不管是桌面软件还是网站都开始关注用户 ... [详细]
  • docker是跨平台的?_跨平台构建 Docker 镜像新姿势,x86、arm 一把梭
    点击阅读原文可以获得更好的阅读体验。前言在工作和生活中,我们可能经常需要将某个程序跑在不同的CPU架构上,比如让某些不可描述的软件运行在树莓派或嵌入 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 前端微服务二
    为了解决庞大的一整块后端服务带来的变更与扩展方面的限制,出现了微服务架构(Microservices):微服务是面向服务架构(SOA)的一种变体,把应用程序设计成一系列松耦合的细粒 ... [详细]
  • 导读:今天编程笔记来给各位分享关于php动态扩展怎么加载的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • 系统osx10.11用的是brew下的php56brew下的nginx下了一个项目,在安装过程中提示缺少,intl和apc扩展,就用下面的语句下载了,也装上了,但php还是没有加载 ... [详细]
  • 如何用js 实现依赖注入的思想,后端框架思想搬到前端来
    如何用js实现依赖注入的思想,后端框架思想搬到前端来-大家在做些页面的时候,很多都是用ajax实现的,在显示的时候有很多表单提交的add或者update操作,显然这样很烦,突然想到 ... [详细]
  • 无需人类知识,DeepMind新一代围棋程序AlphaGo Zero再次登上Nature
    选自DeepMind机器之心编译在今年五月击败柯洁之后,AlphaGo并没有停止自己的发展。昨天,DeepMind在《自然》杂志上发表了一篇论文 ... [详细]
  • 7月9日结束了我的小学期后,正式开始了我的假期生活。这个星期,初步了解了一些Java的基础知识。1.JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需 ... [详细]
  • 互联网世界 9 种基本的商业模式
    互联网世界9种基本的商业模式一个商业模式是运行一个公司的方法;通过该模式的运作,一个公司能维持自己的生存,就是说,能有收益。商业模式意味着一个公司是如何通过在价值链中定位自己,从而获 ... [详细]
  • 编译lib手动编译cmake编译gtest测试程序断言和caseFixture使用gmock编译gmock测试程序参考GtestGithub使用gtest(gmock)方便我们编写 ... [详细]
  • 开发笔记:googletest安装与使用
    本文由编程笔记#小编为大家整理,主要介绍了googletest安装与使用相关的知识,希望对你有一定的参考价值。简介googletest是Google公司 ... [详细]
  • Visual Studio 2015 开发 ASP.NET 5 有何变化?
    Visual Studio 2015 开发 ASP.NET 5 有何变化? ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
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社区 版权所有