我知道它具有出色的开箱即用功能,但是它很容易定制吗?
就像我从数据库查询内容或更改css布局一样。
为它创建自己的模块是否更快,或者继续使用像Cake这样的框架从头开始编写所有内容
答案 0 :(得分:16)
我目前正在开发一个基于Elgg的网站,我非常讨厌它。当我介入时,该项目已接近完成,但创建的人员已不再可用,因此我将其作为自由职业者接管。
作为个人印象,您最好在框架中从头开始编写应用程序。我不知道在我之前的人是否宰了它,但是代码看起来很糟糕,基于实体的关系模型至少可以说并且调试是可怕的。此外,从我的观点来看,它不能很好地扩展。如果你有一个稳定的用户群,我真的很担心。
它保留了两个全局对象( $vars
和 $CONFIG
),这些对象在内存中加载了超过5000个(!)成员在每个页面上。这是一个垃圾指示器。
答案 1 :(得分:2)
过去一个月左右我一直在Elgg网站上工作,它的代码很糟糕,但这并不是我见过的最糟糕的:D。它不是像Drupal这样的程序员构建的:D。但这并不算太糟糕。一旦我掌握了元数据函数并阅读了大部分代码,我就能够很好地导航它并创建自定义模块等。
对Elgg系统的一些真实文档和解释会有什么帮助。我认为不会发生这种情况:)。
开箱即用有一些问题,有一些问题暂时没有修复,我必须自己进去修复它们。总的来说,你可以使它漂亮并且它有一些很酷的功能,但我不会深入研究,直到我阅读了主要的核心代码来处理后端发生的事情。
哦,大量使用在全局变量中存储值。还有一大堆DB调用(尽管与Drupal相同)。
我想知道是否使用存储所有内容,并且我的意思是如果您有大量用户负载,那么全局变量中您网站的所有内容都会真正阻碍服务器。
答案 2 :(得分:2)
我和蛋糕一起工作过。和Elgg一起,在一个正在QA阶段的项目中待了一个月。
我的建议是:如果您需要快速使用许多功能而且只需要自定义一点,请使用Elgg。
如果您要定制很多,并且可以负担所有论坛,朋友,邀请等功能的开发,请使用Cake或任何其他MVC框架。
答案 3 :(得分:1)
如果您想基于社交网络平台/框架构建产品,那么Elgg肯定是一个很好的方式。如果你真的在跳跃和做elgg期望之前看起来那么代码并不是那么糟糕。你反对它的过程和结构,它会让你在路边殴打。
开发模块/插件或编辑CSS很容易,Elgg确实为您提供了极大的灵活性,基本上可以构建自己的产品。海豚作为比较,不允许你做任何超出预期的事情。
如果您只需要一个基于用户功能的框架(主要不是社交网络等),那么我建议使用Cake,或者如果您的项目是巨大的,那么可能是Symfony或Zend。他们都有可以下载和使用/ hack的插件,可以根据个性化需求进行调整。
要显示您可以使用elgg做什么,这是我们使用Elgg 1.7构建的网站Mobilitate。这是一个非常复杂的网站,建立在Elgg之上。 我们正在与Elgg 1.8开始一个新项目。新版本是一项重大改进,它们使很多元素变得更容易,结合了更好的JS和CSS实现/结构,并且更好地评论了自己的代码。
答案 4 :(得分:1)
Elgg的数据库架构非常可怕。他们基本上在SQL中实现了NoSQL数据库。它完全违背了使用关系表结构的目的。
如果你可以忽略这一点,并且没有做太多的自定义,你可能对Elgg没问题。如果没有,请等待。
答案 5 :(得分:0)
我和Elgg一起工作了一年多。使用像CakePHP这样的框架,比从头开始构建一些东西更容易定制。我试过CakePHP,发现它比Elgg更复杂。
由于基于实体的关系模型,很难查询数据库。您应该使用内置方法来访问数据。但是,我编写了许多查询来仔细检查实际存储在数据库中的内容。
您无法仅使用CSS更改布局。你必须处理各种Elgg观点。但CakePHP使用相同的模型/视图/控制器MVC概念,因此同样困难。