php CMS和框架之间的区别是什么?如何在它们之间进行选择以满足特定的需求?

9fkzdhlc  于 2023-01-24  发布在  PHP
关注(0)|答案(8)|浏览(110)

我目前正在使用Zend Framework,我对它非常满意。我想知道的是在什么样的需求下使用CMS更好,比如Joomla或Drupal。
考虑到我目前的项目,它是一个门户应用程序。它完全是从零开始在Zend。然后一些家伙来评论说,它宁愿在drupal实现,你可以得到插件的东西,你建立了艰苦的努力。
因此,我需要一个指导方针,如何选择CMS和框架在启动阶段?

ej83mcc0

ej83mcc01#

你的问题是使用现成的CMS还是使用框架创建你自己的系统。正确的答案取决于以下几点:

  • 预算
  • 您将拥有的用户数(长期性能问题)
  • 进一步维修
  • 您要在站点上提供的详细信息(提示信息)总数
  • 使用第三方/自定义API实现
  • 需要高度自由度的特殊/定制功能(例如:StackOverflow奖励积分和徽章)

由于这是我们大多数人经常面对的问题,这里有现成的CMS与框架的利弊:

    • 现成的CMS**
  • 优点 *
  • 如果您的项目通常适合CMS提供的内容,则可以缩短启动和开发时间
  • 可用模块和主题
  • 由社区支持,这意味着新功能、错误修复、支持、教程等将免费提供给您
  • 统一的标准集-继续使用现有CMS网站比使用其他人的自定义应用程序更容易(这是相对的,但关键是,在使用现有CMS的网站中,大多数事情/设置对您来说都很熟悉,而在自定义应用程序中,以前的开发人员有更多的自由)
  • 安全性是您不需要像在自定义应用程序中那样担心的问题
  • 缺点 *
  • 如果您的要求非常具体,则需要覆盖系统的默认工作流程;在某些情况下,这可能是棘手的,并会使您花费更多的时间,而不是编写自己的
  • 模块/插件中的冗余代码
  • 性能-一个现成的CMS将很少像一个定制的应用程序一样快
  • 不适合每个大型网站(除非你适合CMS提供的几乎所有内容)
  • 某些情况下学习曲线陡峭(Typo3Drupal
    • 自定义应用程序**
  • 优点 *
  • 由您来定义应用程序的结构和逻辑
  • 应用程序设计是专门为您正在进行的项目而设计的,因此没有冗余代码
  • 做任何你想做的事的自由
  • 缺点 *
  • 昂贵-在大多数情况下,您/您的客户将需要更多的钱来购买自定义应用程序
  • 进一步的维护将更加困难
  • 结构的改变和修改可能非常耗时
  • 如果你不使用CMF,你将不得不在某些方面重新发明轮子
    • 底线**

花几天时间了解一些CMS的相关信息,例如:

  • Drupal-我的第一个推荐;适合大中型网站;良好的社区;中/陡学习曲线
  • WordPress-我的第二个推荐;适合中小型站点
  • Typo3-企业级系统;非常复杂,结合了framework,可以在项目中独立使用
  • Joomla-我个人不喜欢它,也不推荐它,因为它是业余的插件,但它很受欢迎
  • SilverStripe
  • MODX
  • Concrete5

我认为任何更大更严肃的项目,至少需要1 - 2个程序员来随时维护系统,都应该是定制的。只有当它完全符合现有CMS所提供的功能时才是例外。
希望这有帮助:)

np8igboo

np8igboo2#

看看StackExchange.com上的Difference between a CMS and a web-development-framework

CMS(* 内容管理系统 *)用于管理网站上的内容。它通常提供一些工具,使这项任务尽可能简单。

CMS示例:Drupal、Joomla、DotNetNuke等
一个框架就像一组库/类来构建一个web应用程序。许多框架提供库来访问数据库,模板引擎等等。这样,你就不必重新发明轮子了。
CMS通常构建在框架之上。
框架示例:CodeIgniter、CakePHP、科哈纳...

w6lpcovy

w6lpcovy3#

@Voles提到了什么是CMS和框架
所以你的问题是“如何在CMS和框架之间做出选择的指导方针“
想建立一个博客或一个简单的网站?
去WordPress,Drupal等。
想建立下一个facebook或stackoverflow或你自己的应用程序,目前的cms是很难学习或功能有限?
然后选择一些框架或定制的框架。确保你知道如何以正确的方式构建它。
您还可以查看一下http://cmf.symfony.com/
希望你能明白。

2hh7jdfx

2hh7jdfx4#

除了所有的优点和缺点的CMS和框架,根据我你需要研究你的需求在启动的时候。列出你想要在你的应用程序的模块。现在检查有多少模块在CMS中可用,你知道像drupal,joomla,文字出版社等。并检查出多少自定义您需要在这个可用的模块以及自定义模块您可能需要开发根据您的要求。如果你发现,与最低限度的定制,你可以使用任何特定的CMS,然后去它。
但是如果你的应用程序在本质上非常复杂,我建议你使用任何MVC框架,比如Zend,Cakephp,codeigniter等等。
是的,还有一件事要与任何CMS或框架,你很熟悉它。

2w3rbyxf

2w3rbyxf5#

框架就像一个图书馆,通过使用这个图书馆,我们可以开发新的东西。无论CMS作为名称意味着它是一个内置的资源来管理内容。像wordpress我们不需要开发任何东西。

kq0g1dla

kq0g1dla6#

框架是CMS的创造者,CMS基本上是一个内容管理系统,专注于内容管理,一切都是完美的设置为您与几行代码和逻辑您的网站或小应用程序可以开发
而在框架中,它比CMS更深,你必须从头开始写一切,或者使用现有的库,这通常用于制作大的应用程序。希望这会有所帮助

7gyucuyw

7gyucuyw7#

据我所知,CMS和MVC都是带有编码库的Web应用程序框架。CMS对于初学者来说更容易使用,因为它有它预先制作的功能,所以你不需要复杂的编码。我在Wiredelta的文章中找到了有用的信息,也许这对你也有帮助:https://blog.wiredelta.com/cms-mvc-framework-comparison/

de90aj5v

de90aj5v8#

CMS和框架之间有何区别?

https://en.wikipedia.org/wiki/Content_management_system
内容管理系统(CMS)是用于管理数字内容的创建和修改(内容管理)的计算机软件。
https://en.wikipedia.org/wiki/Web_framework
网络框架(WF)或网络应用框架(WAF)是被设计为支持包括网络服务、网络资源和网络API的网络应用的开发的软件框架。
用我的话说:
CMS是一个内容管理系统。
框架是一套工具,让您建立一个CMS或任何其他自定义的Web应用程序。

以及如何针对某些要求在它们之间进行选择?

我的个人经历:
我一直在使用不同的CMS(CMS MS,Prestashop,Drupal)和框架(Symfony,Zend Framework),我的结论是:

  • 如果CMS的特性可以满足您的要求,并且只有少数定制要求,请使用CMS。
  • 否则,如果您的需求很复杂并且非常自定义,请使用框架。

使用具有复杂和非常定制要求的CMS的一些具体问题:

  • 社区插件的功能有限。如果你想扩展这些功能,你最终会
  • 复制或修改插件,使其难以更新
  • 创建自己的插件,带有有限的CMS特性比如缺少依赖注入,这会使你的代码结构化程度降低。2也许有一天你会问自己,为什么不从一开始就使用框架
  • 社区插件可能与其他插件甚至CMS版本不兼容
  • 社区插件可能更难阅读和调试,因为它不是您团队的干净代码

相关问题