第三方mvc的目的?

时间:2010-05-20 22:56:50

标签: php cakephp codeigniter joomla

我见过许多第三方mvcs或框架,如codeignitor,cakephp等。我想知道的是他们的目的是什么?香港专业教育学院创建了自己的框架,称之为mvc或框架(在我看来,他们都是一样的)。在我的框架中,我将所有类放在一个名为classes的文件夹中,所有函数放在另一个文件夹中它全部井然有序,当一个新项目进来时,我能够快速完成它。我看过我提到的应用程序,似乎有很多文章和教程要研究。什么目的?为什么不研究主要语言,如php,javascript / ajax或jquery等等,然后构建一些你知道的东西,以便任何项目以你知道该怎么做的方式。我知道有些人使用cakephp,而且每个项目都会被卡住,需要弄清楚要做什么。另一个我认识的人和joomla以及每个基本的公司网站一起工作,他会对joomla进行逆向工程以使其与网站一起工作。使用这些应用程序的人是因为他们缺乏语言知识吗?或者有时别无选择,只能在缺乏语言的情况下建立网站并将其放在一起。

ps:我不想说哪个更好或争辩,我想了解并看看我是否遗漏了什么。

5 个答案:

答案 0 :(得分:3)

标准化框架可以轻松调整和重用代码块。通过使用Zend,Cake,Joomla等框架,您可以找到易于插入现有站点的预制脚本和组件的存储库。

不仅如此,框架(在大多数情况下)将处理大多数网站标准的许多复杂,重复的任务。在大多数情况下,框架会自动将CRUD类托管到您的数据库,并支持逻辑和视图的清晰分离。

框架不适合所有人,我实际上会建议新手编程或PHP学习基本语法和对象结构。这样做可以让您更深入地了解框架的行为方式,并使您更容易修改/覆盖现有结构。每个框架都是不同的,有些框架比其他框架更适合特定任务。您应该进行研究和测试,看看哪一个符合您的需求。

答案 1 :(得分:1)

尚未提及的另一个好处是使用标准框架可以在开发人员之间提供一些共享知识。如果您使用自己开发的“框架”构建项目,然后其他人必须在将来维护它,他们必须从头开始学习您的方法。但是,如果您使用过CakePHP,并且他们已经拥有CakePHP的经验,那么他们将有一个非常好的基础开始。这可以使他们适应新系统所花费的时间量产生巨大差异。

答案 2 :(得分:0)

如果您想快速设置项目,而不必过多了解下面的所有内容,使用其中一个框架可能非常有用。你知道,至少在某种程度上,它们构造得非常好并且可靠,并且它可以节省你很多时间,而不是自己创造一切。其中大多数也可以轻松扩展,以添加您可能需要的功能。

但是你是对的,了解所有基础知识总是一件好事。这样就可以更容易地了解这些框架究竟做了什么,更重要的是,为什么以及如何做。并且知道这样可以更轻松地为选择合适的框架并以适当有效的方式扩展它。

但最后你会从这两种方法中学习,不同之处在于,通过现有的框架,你可以立即开始使用某个网站。

答案 3 :(得分:0)

我也使用自己的自制框架,花了很多个月才开发出来,但对于每个项目,我仍然权衡使用第三方框架的优缺点。决定通常归结为我想要实现的细节。例如,在以数据库为中心的应用程序中,我使用自己的框架,因为大多数众所周知的框架的ORM解决方案都非常糟糕和低效,但对于像Blog这样简单的东西,Codeigniter可能是我的选择(仅仅因为我讨厌Wordpress,这甚至不是一个框架,但我必须在这里提到它是多么可怕)。

但请记住,虽然您了解自己框架的细节,但如果其他人不得不在以后维护您的项目,那么特别是如果您不进行文档处理将很困难。像CakePHP,Kohana,Symfony等大型框架是众所周知的,很容易找到有经验的人。另外,如果你需要帮助,你所要做的就是在他们的论坛上发帖,你很可能会有一个很好的答案。

答案 4 :(得分:0)

另一点是维护自制框架。通常,这是开发新站点或维护旧站点的第二位,而标准框架背后有一组开发人员。框架中的任何安全问题都会得到更快速的解决和修补,您通常只需升级框架并保持代码不变。