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

【干货】为什么你应该使用一个PHP框架

作者:JuniorGrossi,PHP开发者,精通Zend框架,此外涉足Rails开发,对Java和C也相当有经验。

在一个新项目上,你是否应该使用一个 PHP 框架?就此问题,我阐述一下我的个人观点,希望对你有所帮助。

首先,我对语言及其框架有一个简单的概念:一个框架必须让开发变得更加简单。每个软件都有一个目的:有效工作!这是每一个项目的主要目标,简化某些人的生活。

谈到 PHP,它是一门非常简单的语言,设计初衷就是简单和快速。如果你想要一种复杂或者充满依赖的语言,PHP 不是你最好的选择。

PHP 可以在一行代码中做许多事情,它有这个能力,因此,如果你选择的编程框架,做同样的事情需要仍需3或4行代码,还是使用原生 PHP 语言吧。但是你会问我,你选择的框架虽然只是做了同样的工作,但做得更好,使用了面向对象的编程方法,或者代码更加整洁漂亮。请记住,你的首要任务是让你的项目有效工作。当然,面向对象编程是推荐的方式,你应该使用它,它会让你的开发看起来更简单些。PHP 正朝着面向对象大步迈进,不久之后,> 将被取代,那时一切都将变成 OO,就像:

1. String.length()

我想说的是,你们应该使用更简单的方式,使得开发更快更好。想要借 PHP 之力达此目的,那就选择一个能使你工作更高效的框架吧。现有的一些编程框架,难度几乎和你学习另一种编程语言差不多。对我来说,一个框架必须容易学习,短时间内能上手开发,这样你就可以用它去赚钱了。

对于 Ruby on Rails 框架,我有一些开发经验,大量 PHP 程序员转移到 RoR 的原因就是因为它很简单,仅此而已。在 RoR 上写代码就如同说话一般,使用 PHP 当然也能达到同样效果,只要你选对框架。如果你感觉使用像 Java 之类的架构更好,不妨看一下 Zend Framework。如果你想要更新的100% OO,但又要比 Zend 简单点儿,那就用Symfony 2。如果你是一名 Rails 粉丝,想要语法表达更直接了当,你可以选择 Laravel 或者 CakePHP。

我真的很喜欢 Ruby on Rails 的开发方式,这就是我为什么使用 Laravel 开发的原因。它是一个非常优秀的框架,你可以做任何你想要做的事情。你可以快速地学习它,只需阅读官网文档即可。使用 Laravel 既可以创建一个简单的 API,也能够开发一个复杂的应用程序。

为什么仅仅为了获取活跃用户信息,你就必须要创建3个或4个类呢?应该简单才对,就像 Laravel 及其 Eloquent ORM 这样:

1. User::where('status', '=', 'active')>get(); // all active users

2. User::find(2)>status; // get the status of user_id 2

你只需要阅读这些代码,就能知道它在做什么。就像和你在说话一样,代码会告知你想知道的一切。你要是想渲染一个视图或者使用它作为一个邮件消息体:

1. $viewCOntent= View::make('users.welcome')>with('name', 'Grossi'); // 这样就行了

Laravel 4(译注:Laravel 5 已经发布)基于 Composer,这和 Zend Framework 2 以及 Symfony 2 不谋而合,如果你想要使用一些它们的组件,Composer 可以轻易地帮你做到。我在采用 Laravel 的项目中使用了大量的 ZF 组件,它们都工作得很好。

话说回来,你应该使用一个 PHP 框架去提高你的开发效率,但是,如果你能用纯 PHP 做到同样的事情,那就用纯 PHP,因为你是在用 PHP 开发,而不是框架语言。

我也是一个 Zend Framework 程序员,要知道每个项目都不尽相同。但是请务必关注一下 Laravel 框架吧,不妨试一试。Laravel 是一个非常优秀的项目,它的开发团队相当出色,其中有一些非常知名的程序员如 Taylor Otwell 和Dayle Rees。

只能帮你们到这儿了,谢谢~


推荐阅读
  • 只使用’if-else’语句的’else’部分是否可以接受?有时,我觉得检查所有条件是否都是真的更容易,但是只处理“其他”情况。我想 ... [详细]
  • 导读:在编程的世界里,语言纷繁多样,而大部分真正广泛流行的语言并不是那些学术界的产物,而是在通过自由发挥设计出来的。和那些 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 使用CocoaPods管理依赖库
    这篇内容将介绍Mac和iOS开发中必备的一个依赖库管理工具CocoaPods。在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFNetwo ... [详细]
  • 让你明白kvm是什么
    参考:https:blog.csdn.netbbwangjarticledetails80465320KVM工具集合:libvirt:操作和管理KVM虚机的虚拟化API ... [详细]
  • 数学中的常见的距离公式
    数学中的常见的距离公式转载自:点击打开链接最近看到文章中对距离的衡量依据所针对的问题,针对所使用到的各种距离公式从网上搜罗如下1.欧氏距离,最常见的两点之间或多点之间的距离表示法, ... [详细]
  • rust编程这篇文章是关于我通过解决Twitch上尚未解决的所有CtCI问题来学习Rust的经验。英国科学博物馆集团AdaLovelace的肖像Rust徽标,由Moz ... [详细]
  • Hadoop——Hive简介和环境配置
    一、Hive的简介和配置1.简介Hive是构建在Hadoop之上的数据操作平台lHive是一个SQL解析引擎,它将SQL转译成MapReduce作业,并 ... [详细]
author-avatar
jinglongyy70
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有