【发布时间】:2008-11-19 07:29:54
【问题描述】:
我正在运行一个关于 PHP 框架的网站,但我找不到它的确切定义,我一直在思考一个问题,如何制作一个好的 PHP 框架?特征?手动的?效率?还是什么?
【问题讨论】:
标签: php frameworks
我正在运行一个关于 PHP 框架的网站,但我找不到它的确切定义,我一直在思考一个问题,如何制作一个好的 PHP 框架?特征?手动的?效率?还是什么?
【问题讨论】:
标签: php frameworks
询问编程论坛什么是好的框架就像询问汽车论坛什么是好车一样。意见千差万别,在 95% 的情况下,你选择什么并不重要,只要它是积极开发的。您的大部分回复将基于宗教而非主观比较。 :)
【讨论】:
本质上,框架是您可以选择在其上构建程序的结构。它可以让您连接到许多不同的 API 并确定您自己的应用程序的结构。我使用 Zend 框架。它不是最容易学习的,但肯定拥有出色应用程序所需的一切。我建议通过网站上的快速入门指南来了解这一点。它使用模型-视图-控制器,这在我看来是必不可少的。配置完成后,一切都会变得非常简单!
其他框架包括 CodeIgniter 和 Symfony。有些人喜欢 CodeIgniter,因为它占用的空间更小。这都是偏好问题。无论您选择哪个,请务必使用网站上的文档,因为了解如何最好地使用它至关重要。此外,不要害怕每隔一段时间就在代码中达到顶峰,只是为了更好地了解事情的运作方式。
【讨论】:
框架提供了可以让您更快/更干净地开发的脚手架。它们通常为 UI 组件和底层数据库访问提供工具集。
对于(非常)小的项目,框架可能有点矫枉过正,但通常情况下,为您提供大量可重用的代码会很有帮助。
一些著名的 PHP 框架: Zend Framework CodeIgniter Symfony CakePHP Mojavi
【讨论】:
在我看来,PHP 框架是帮助您开发 Web 应用程序的类的集合。
在我的公司,我们使用 Zend 框架。我不得不说,开始使用这个框架非常困难,但如果你知道如何使用 API 和参考指南,你就会拥有一个很棒的框架。这也很有趣,因为他们有 Zend 人员参与该项目,因此他们可以使用这些内部技巧并获得一些其他人无法获得的性能提升。
ZF 与其他公司的不同之处还在于能够轻松创建 MVC 程序。
【讨论】:
关于框架有很多话要说——这里有好帖子。但是请注意,它们并不总是最好的解决方案。您可能更愿意避免使用它们的原因是
由于代码库的大小,它们往往很慢(例如,我看到 Zend 引用的简单 PHP 嵌入页面交付速度慢 10 倍的数据 - 诚然是较大的数据之一)。
在它们打算使用的“域”之外,它们可能是不灵活的。扩展一个框架来做一些非标准的事情可能比从头开始编码要困难得多。
需要牺牲一些模块化。使用更简单的模板/控制文件系统(例如TinyButStrong)的优点是每个页面都是一个不同的单元,这自然会使您的系统更容易进行单元测试和健壮。
它们往往容易受到版本控制问题的影响。开发你的第一个非常好,但是在你开发了十几个网站之后,你很可能会发现你一直在使用该框架的三个或四个发布版本,并且你有一个混杂的代码库来使用 - 并同步所有内容需要您可能没有的时间。
以上都不是反对使用框架的决定性论据,在许多(大多数?)情况下,优势会得到更高的分数,但你不应该在没有首先考虑你的需求和最佳解决方案的情况下达到一个针对每个特定问题。
【讨论】: