PHP框架的好处

PHP框架的好处,php,frameworks,Php,Frameworks,我听说过很多关于PHP框架的东西,比如ZEND、CodeIgniter、CakePhp等,我也很清楚使用它的一些优点,即提高了生产率、减少了错误等,但是PHP框架不是让编码成为一个复杂的过程吗?没有框架的编码不是提供了更多的灵活性吗?有些人说你不需要任何额外的框架,因为PHP本身就是一个框架 那么,为什么PHP框架有如此多的用途呢?PHP中真的需要框架吗 它们在PHP中是必需的吗 不,他们不是,当然没有框架也可以编写任何代码。但这是更多的工作,这就像:当我可以通过编写汇编程序来完成同样的工作时,

我听说过很多关于PHP框架的东西,比如ZEND、CodeIgniter、CakePhp等,我也很清楚使用它的一些优点,即提高了生产率、减少了错误等,但是PHP框架不是让编码成为一个复杂的过程吗?没有框架的编码不是提供了更多的灵活性吗?有些人说你不需要任何额外的框架,因为PHP本身就是一个框架

那么,为什么PHP框架有如此多的用途呢?PHP中真的需要框架吗

它们在PHP中是必需的吗

不,他们不是,当然没有框架也可以编写任何代码。但这是更多的工作,这就像:当我可以通过编写汇编程序来完成同样的工作时,为什么我要使用C

那么,为什么PHP框架有如此多的用途呢

使用框架的好处是,您可以使用许多预定义的东西。例如,在大多数PHP框架中,您可以使用MVC模式。当然,您也可以使用平面PHP构建自己的MVC结构,但这就像每次都要重新发明轮子一样。唯一的问题是,如果您有非常具体的需求,您可以/不应该使用框架,但在大多数情况下,需求并不是那么具体

MVC的优点只是众多优点中的一个。根据您想要使用的框架,有一些特定的好处

所以,就像你说的。通过使用框架,您可以节省时间,因为您不必重新发明已经存在的一切

您可以将框架视为一种工具,它可以帮助您更好更快地开发

编辑:就像Ayesh K在他的评论中提到的那样,框架是由许多专家开发的,这也是一个好处,因此它通常是更好的代码,遵循的原则是:“四只眼睛看两个以上”

php框架不让编码成为一个复杂的过程吗

这取决于你想做什么。如果您所做的只是为一个站点创建一个基本的联系人表单,而该表单全部是静态HTML,那么使用框架将使其成为一个更复杂的过程。另一方面,如果你正在构建一个大规模的应用程序,那么使用一个框架并不一定会使它变得更复杂

没有框架的编码不是提供了更多的灵活性吗

这取决于框架本身,它们并不完全相同。有些框架,如Slim或Codeigniter,经过了非常精简,没有太多阻碍,因此不会真正影响灵活性,有些框架更为复杂,如Symfony2/Zend

有些人说你不需要任何额外的框架,因为PHP本身就是一个框架

他们是对的,你在技术上不需要框架,你可以用普通的PHP做任何你可以用框架做的事情。框架实际上是从开发人员个人的函数和助手代码档案演变而来的。PHP的级别相对较低,因为它没有现成的函数来完成所有需要的操作。在框架出现之前,开发人员倾向于拥有自己的一组助手代码,这些代码可以在许多项目上重用。框架本质上仍然是这样,只是它们是数百或数千名开发人员参与的协作项目


框架的另一个好处是,如果您有几个开发人员,其中一个开发了一个应用程序,并且您希望另一个开发人员参与或接管该应用程序,那么如果开发人员熟悉所使用的框架,那么他可以比用普通PHP编写的应用程序更快地了解应用程序的运行速度。如果没有这个框架,新开发人员将不得不在开始考虑添加任何新功能之前破译以前的开发人员系统。

这是一个广泛的问题,我认为是一个重要的问题。除非绝对必要,否则我不会使用框架。问题是,什么时候有必要

首先,我认为让我对框架产生这种奇怪的过敏反应的是,没有经验的程序员希望在任何事情上都使用框架,即使是很小的站点。。。。这很奇怪。也许是因为一些人需要通过说他们使用了codeigniter来扩大他们的简历,但以我的经验来看,这并没有什么区别。招聘经理需要的是技能,而不是任何人都能阅读API文档的人。如果你有关于程序架构和OOP原则的工作知识,你就被录用了。如果你不是,但你是一个代码点火忍者。。。。哎呀。。。。好吗

框架有其用途,但我认为当你妈妈想为她的烘焙销售制作一个网站时,你可以使用一个更轻的系统将一个页面拼凑在一起。我不认为你应该包含代码“以备不时之需”。随着时间的推移,我开发了自己的框架,这个框架非常小,这就是为什么我创建的每个网站或应用程序都被谷歌列为世界页面加载时间的前2%(尽管通常是前1%)

这并不是说它们不好——只是不要因为你想把框架写在简历上就马上使用框架——从长远来看,你实际上是在自食其果。为什么?因为您不会花时间使用语言本身,所以您将花时间使用框架语言。以jQuery为例——我多年来一直避免使用它,因为它不是JAVASCRIPT。人们对此嗤之以鼻——但现在,当我去参加一次技术面试时,有人问我(不可避免地):“你对jQuery的经验水平是多少”,我说“不多”,他们第二眼看上去很惊讶,但随后我又问了一句“但我昨天刚刚在原生JS中通过控制反转编写了依赖注入”——我当场被录用

框架很棒。问问你自己,你是否真的需要它们。特别是问题是:框架的时间优势(不要忘记平台的学习曲线)是否超过了自己编写代码的优势?一方面(非框架方法),您