Joomla还是从头开发?[关闭]


9

作为一个经验很少的人,我想知道是什么让您认为Joomla可以满足您的所有要求?是什么让您从头开始选择开发,还是选择使用Yii或Kohana之类的框架。

使用Joomla时面临的最常见或最关键的问题是什么?由于我没有太多经验,因此我要强调最大的问题之一就是灵活性。您无法缩放或自定义应用程序的行为,即使可以,您也需要打破Joomla中的某些规则,或者等待下一个版本。这是真的?。

目前,我正在建立一个长期项目,其中可能包含许多特定的功能和行为。我想从头开始或在某些PHP框架的帮助下构建它。但是我已经看到太多的网站(其中有些在复杂性方面很棒)正在使用Joomla。这使我对选择正确的技术有些怀疑。

我想知道选择Joomla /其他的最终原因是一两个还是两个。


13
Joomla是有史以来最混乱的代码之一。每当程序员必须在joomla站点上工作时,小猫都会死,上帝会哭。不要使用它。
点击Upvote 2011年

5
做。不。采用。Joomla
布利维特2011年

Answers:


13

如果您要建立网站,则可以使用Joomla等其他CMS
但是,如果您要构建Web应用程序,我认为应该从头开始构建。那时,您可以使用framework


2
要知道,一个网站和Web应用程序之间的区别,你可以见式programmers.stackexchange.com/questions/64535/...。其实我自己在回答这个问题后就问了这个问题!
Gulshan

6

我经常被问到有关三大CMS的问题,感到很遗憾,没有任何答案,根本没有使用过它们。直到大约1.5年前,我突然别无选择,只能潜入Joomla1.5.x。

  • 除了阅读源代码之外,还可以通过其他任何方式来学习Joomla扩展开发。我保证,如果您违反该规则,那么许多卫星将丢失。
  • Joomla并不能为您提供很多帮助(是的,我知道1.7+,这里只说1.5.x)。不要指望Joomla有任何RAD功能,实际上,您将要手工编写所有HTML,包括表单,表格,表格,网格,过滤器,搜索,是的。
  • Joomla具有1个关系ORM类型能力,即JModel的canDelete方法,可以专门告诉哪些表检查记录以返回布尔值“ canDelete”,就是这样,您必须手工编写所有ORM查询。
  • 使用JxExtractor(我认为)来生成所需的表架构文件或在任何数据库架构更改后手动修改表文件。
  • Joomla 1.5的ACL是一个谎言,请阅读该源代码,然后您会明白这一点。假设他们在我需要的时候会在那里,只浪费了大约一个月。
  • 美德商城。哦,天哪。快点,鸭子!ew。千钧一发。
  • JInstaller的人生目标是失败并承担责任,它抱怨与导致失败的原因无关的事情,或者至少抱怨像我曾经有过的任何女朋友一样晦涩难懂。永远不会被信任,它会说谎,如果您提供任何信任,您就是傻瓜!
  • 根据约定进行配置,或者始终存在总体上的不一致。GetVar()get()getValue()getConfig()getCfg()getParam()。忘记猜测吧,所有一切都需要查看源代码/ api。
  • Joomla至少有4种“构建方式”,它们没有共同点,只需复制com_weblinks组件即可省去自己的痛苦。
  • Joomla是一个非常稀疏的代码库。一方面,我对此很喜欢,它的来源简短而实用(尽管无能为力)。如果您来自某个框架,请不要犯期望框架所提供的东西之类的错误,假装您回到大约8年的时间,因为您是。
  • 代码生成器。扩展目录中的必须Jacc非常好。
  • 不要指望从网络上获得太多帮助,也许我很沮丧,但看来joomla的在线量如此之大,以至于找到有用的教程/指南/参考只是浪费时间,请阅读该源代码的朋友。
  • Joomla对开发人员的文档不感兴趣,可悲的是最终还是有意义的,因为代码库很简单。

总而言之,如果您已经熟悉高阶工具,请不要使用Joomla CMS,否则您可能会自杀并且拥有10个高位,足以像我一样从固定在Google地图上跳下来。

Ps Joomla 1.6(1.7)改进了许多这些短处,但这并不重要,因为不管我求多少,将客户端Web商店(VM)迁移到1.7都是梦dream以求的事情。


4

我对Joomla的看法:

  • 对于没有一点技术知识/经验的人,只需单击一下CMS。
  • 作为一种点击式产品,要实现此功能需要更多的开销(我发现它很慢-即使启用了缓存)。
  • 由于它相当大,因此我发现对它进行更改,更改或添加会花费更多的时间。
  • 不要误会我的意思,有一些很棒的Joomla插件/模块,但是有很多无法正常工作或尝试做很多事情的一半。
  • 不断需要修补。我记得一次在星期一发现黑客入侵,第二天发布了补丁,而在星期三,我们的一个客户站点被黑客入侵。即使我们与客户一起制定了升级/补丁政策,如果我们每周进行一次补丁(如果需要),并且每周的星期四都进行补丁,那么在这种情况下我们就太迟了。再加上#补丁次数#客户端数量可能非常耗时。
  • 如今,任何可以编写的人都echo 'hello world';称自己为php程序员。Joomla是非技术人员轻松制作美观的网站的一种方法(点击并记住)。

对于长期项目,我建议:

  • 使用框架为您提供基本功能(例如CodeIgniter
  • 保持您的代码基础精益,因为在初期就很难消除过多的膨胀。
  • 使用框架还可以更轻松地改变方向或更快地进行调整(如果没有Joomla插件尚未完成您想要的功能,则必须构建它)
  • 一旦了解了框架的基础知识,就可以内外了解代码。使添加,更改,更改变得更加简单,所需的时间也少得多。
  • 避免Joomla。特别是对于正在进行的长期项目,我发现它要花很多时间。

只是我的两分钱。希望能帮助到你。


0

AFAIK Joomla是CMS。因此,基本上,它可以与Drupal和Wordpress等其他CMS竞争。Yii和Kohana是框架,您可以在其中使用Zend,code-ignighter等选项。据我了解,CMS是一种具有一组API和扩展名的应用程序,用于管理Web内容,而A框架是一种代码库,可以根据我们的需要进行调整以创建Web应用程序。因此,您可以使用框架创建CMS。我建议使用框架而不是CMS进行应用程序开发。我相信框架方法可以让您深入研究MVC等方法,并为您提供有关数据库和模板的选项。

PS:这只是我的理解。我听说Drupal和Joomla具有很好的可扩展性和可调整性,但是我没有使用它们。几个月前,我调查了Yii,它似乎有很好的文档记录,并且易于学习。


0

为什么选择Joomla?这是一个CMS。如果您可以使用主要CMS之一提供的模块等满足项目的需求,那就太好了。下一个问题是-您是否可以修改代码以在必要时进行更改。至于CMS系统,请环顾四周,看看其他与Joomla竞争的产品。


0

如果您想更好地了解各种框架的功能,则可以帮助您开发自己的框架。话虽这么说,生产车轮的方法太多了,所以您想重塑已经完成的工作有多糟糕?

我个人开发自己的产品仅仅是因为我不需要Wordpress或Drupal提供的所有额外功能。话虽这么说,我的“ CMS”使用它的规模不会太大,所以如果我希望其他人做出贡献,我会遇到麻烦。

我个人的观点是使用CakePHP,CodeIgnitor,Modx等框架来开发自己的CMS,然后可能会迁移到Joomla之类的东西,尽管那时您可能不想...

HTH。


0

我从最近4年开始使用joomla。我已将其用作开发各种网站的框架。使用Joomla没有错。它具有扩展功能,可以为自定义扩展创建沙箱,并且可以减少很多时间。许多扩展已经可以免费使用。您可以在很短的时间内创建自己的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.