关于框架的一般问题

时间:2011-10-25 07:25:36

标签: php model-view-controller frameworks

好的,我已经用PHP编程好几年了。我一直很喜欢从头开始构建内容系统以进行练习(论坛,博客,漫画,一般CMS等),但是在过去的几个月里,我得出的结论是,我把太多的时间都花在做冗余工作上,比如建立基础内容系统每次 - 从数据库中获取信息,使基本布局在实现任何有价值的内容管理之前实际工作,等等。现在,我知道Zend,CakePHP等开发框架;但是我总是无法满意地使用它们,而且似乎很快就放弃了它们。

所以我的问题是:

  • 这些框架的可定制性如何?一旦我学会正确使用它们并开始研究实际功能而不是浪费数周时间来完成一个简单的基础并运行,我真的可以完全自由地使用它们吗?
  • 我可以在后台编写自己的函数来做多少事情?
  • 结果通常很快吗?或者框架是否提供缓慢而繁重的代码?
  • 真正让他们对我有利的工作是多么直观,如何轻松地完成基本工作并使用真正重要的东西?

我喜欢这个主题的任何见解。此外,我很想知道你们是否有任何首选框架可供使用。提前谢谢!

6 个答案:

答案 0 :(得分:4)

  

这些框架的可定制性如何?我能真正获得充分的自由吗?   一旦我学会正确使用它们并开始实际工作,我们就和他们在一起   功能而不是浪费几个星期来获得一个简单的基础   并且正在运行?

这取决于。如果你得到一个包含所有内容的框架,你将花时间找出使用它的正确方法。 我建议的一种方法是获得一个微框架并自己添加所需的一切。 I. e。你得到像SlimGlue这样的微框架,提供路由,添加你最喜欢的ORM,如推进,教义,红豆或梨数据库,添加你最喜欢的视图引擎,如smarty,twig或anithing else,添加Zend您在应用程序或Pear类中需要的模块,添加第三方工具。这是一种更长但更灵活的方法。

  

我可以编写自己的函数来做多少事情   背景

此方法允许您编写您无法为工作找到的所有内容。

  

结果通常很快吗?或者框架提供缓慢和   沉重的代码?

因此,表现完全取决于你。它并不太依赖于你无法控制的因素。

  

真正让他们对我有利以及如何工作是多么直观   很容易通过基础知识和真正的工作   重要?

这取决于您计划项目的复杂程度。您可以在需要更多功能时添加部件。

答案 1 :(得分:4)

前段时间我写了类似问题的答案;

首先,你必须问自己一些问题;

  • 你真的需要使用Framework吗?如果你正在努力的话 项目,使用这样的框架只会使你的网站 页面的工作速度比平常慢。他们有太多了 您可能不需要的功能,最终是那些功能 你甚至不会使用会使用资源。
  • 您真的想要浏览所有用户指南吗?请勿忘记 对于您想要进行的简单查询,您必须阅读用户 指南。安全措施,查询,URL,表单,模板等..等等。 你可能想在某个时候保存自己,但最终你会这样做 必须先花一些时间来学习如何使用它们。

如果您想使用框架,请将其用于更大的项目。这可能会节省您的时间(考虑到您没有他们在您的库中提供的所有功能)。确保您要使用的Framework可以做得比您做得更好。

一般来说,他们的要求会匹配许多主机。要求运行额外的要求会降低他们的受欢迎程度,因此您不会遇到托管问题。

我从未使用过框架,而是编写了自己的框架,但我看了 CodeIgniter 。如果你想使用框架,我不建议使用CakePHP。我听说它使用了太多内存。我相信 CodeIgniter 是后起之秀。

尽快回答您的问题; 它们易于安装。您可以及时快速学习。 CodeIgniter 有很好的文档。如果你想在小项目中使用它,它们只会使页面比平常更重。为这样的项目编写自己的小框架是处理它的最佳方式。无需两次发现土地。如果他们提供并且他们的代码比你的更好(一般来说)那么为什么不使用它呢?如果你有时间和知识,我会建议你开始建立自己的。

答案 2 :(得分:2)

有很多可用的框架和google上的大量网站,这里有stackoverflow讨论每个框架的输入和输出。

我自己,我更喜欢像kohana或codeignitor这样的准系统类型框架,他们为你做基础知识并且相当轻松。所以你最终会得到一些帮助来完成基础知识,但很大程度上你只需要自己的设备来创建一个网站。

答案 3 :(得分:2)

  

这些框架的可定制性如何?

工具箱是如何自定义的?
不要将框架与CMS混淆。框架只是一个工具箱。还有某种应用屠体。

  

我能真正获得充分的自由。

绝对 框架主要是一种意识形态。你必须受洗于特定框架的宗教,并按照它提出的方式做事。

  

我可以在后台编写自己的函数来做多少事情?

我无法回答这个问题。

  

结果通常很快吗?或者框架是否提供缓慢而繁重的代码?

框架通常提供缓慢而繁重的代码 但代码本身很少成为瓶颈。

从问题的方式来看,我建议学习一些框架,然后继续创建自己的框架。

答案 4 :(得分:1)

我总是想到那些使用成熟的PHP框架作为懒人(或者非常着急)的人。从长远来看,使用框架不会再增加你的知识基础,因此它对你的时间有好处,但对你不利。我必须同意大卫帕克,使用你从头开始构建的东西,这样你就不用再做了什么,不要停止学习,因为不自我发展的开发人员不是开发人员,对吧?

答案 5 :(得分:0)

你好抱怨php框架。但是java和.net怎么样?

你认为人们了解他们的一切,甚至知道它是如何运作的。不是真的!

重点是,大多数时候人们都在努力完成工作。

IMO,zend是使用php的好框架,特别是当你将它与smarty集成时。是的,你可以扩展它。