从 Joomla 迁移到 Yii2
Posted
技术标签:
【中文标题】从 Joomla 迁移到 Yii2【英文标题】:Migrating from Joomla to Yii2 【发布时间】:2015-09-01 11:07:51 【问题描述】:我试图说服我的朋友和客户从 Joomla legacy 1.5 迁移到 Joomla 3.4,迁移到 Yii2 会更好。网站有很多自定义逻辑,自定义创建的组件,自定义规则,不同类型的用户,合而为一,网站80%以上的重要部分都是基于自定义规则的。我在 joomla 中发现的其他问题是基于对象的编程。当我们遇到具有更多继承对象的复杂系统时,文件变得如此混乱,基本上我需要创建一组规则来组织这么多模型。创建 Joomla 库会很好,但是,为什么需要 joomla 呢?还有当前站点的对象乱七八糟,有神对象,mysql数据库的设计真是乱七八糟,字段相乘,字段被弃用等等,站点的某些部分是硬编码的,非常复杂。
除了搬家的时间和 Joomla 的管理员经验之外,您认为我在搬家方面可能有什么错误吗?
【问题讨论】:
1.5 和 3.4 在复杂性和易用性上有着天壤之别。在 3.4 中,许多人可以仅使用核心和一些他们可以自己制作的插件和模块来构建站点,然后可能会为自定义功能(如图片库)提供一些更大的扩展,这比自己编写代码要快。你在说什么样的自定义规则? Joomla 3 中的 ACL 可能会解决这个问题。 嗯,我确切地知道它的外观,我从 1.3v 开始就使用 Joomla,但老实说,我的经验表明,可能有 10% 的 joomla 编写良好的扩展,甚至一些众所周知的都非常糟糕创建。那就是 Joomla 团队有罪。当我说自定义规则时,这意味着没有任何“画廊”会 100% 满足我的客户需求。在 yii 中,由于资产、可扩展的小部件,通常很容易做这样的事情。如果我能够在没有混乱的情况下扩展扩展,那将起作用,但大多数扩展并不是在编程逻辑中可扩展的,只有 CMS 操作。 我不知道你说的Joomla 1.3是什么意思,没有这样的版本无论如何,听起来你真的没有太多的Joomla开发经验,因为1.6/在过去的几个年,这很好。我从不使用不好的扩展,而且肯定有很多,但是如果你使用那些认真使用 API 的扩展,它们很容易使用,而且很容易制作你自己的。但是你必须学习 API。无论如何,使用现有 CMS 的主要优点是您不必处理构建用户管理、密码、ACL 等。 是的,我有经验,你说的是画廊,这根本不是我在问题中解释的。数据建模和项目结构与图库有什么关系。当我谈到 Joomla 质量时,我觉得你在为 Joomla 质量辩护和争论。 Joomla 背后的想法主要是“点击并安装”。然后解释我如何扩展一些已下载扩展的控制器,并且仍然可以更新 joomla 并具有良好的 joomla 结构? 如果我想在另一个扩展中使用一个扩展的模型怎么办?更不用说它在扩展之间没有共享对象。代码比 Yii 长 3 倍 【参考方案1】:Joomla 是一个内容管理应用程序,而 Yii2 是一个框架,一个很棒的框架。如果代码的自定义程度非常高,那么使用应用程序或 CMS 标准的好处就会变得很少,而使用框架的好处会很多。
通常框架,尤其是 Yii 用于创建常见应用程序的特殊版本,在这些版本之间,CMS 是更好考虑的模块之一。数据模型定义得相当好,大部分工作都集中在自定义功能上。
【讨论】:
【参考方案2】:当我询问我的项目时,我后来自己找到了答案。解释的这个项目很容易定义为 Web 应用程序,而不仅仅是网站,这两者之间的更好关系已经在这里得到了回答:
What's the difference between a web site and a web application?
https://en.wikipedia.org/wiki/Web_application
“如果某个站点是 Web 应用程序”的声明主要基于意见,而我对项目的解释将其推到 Web 应用程序的远端。虽然 Joomla 处于中间位置,可以轻松支持两者,但 yii2 被构建为 Web 应用程序的基础。
那么为什么最好坚持使用 Joomla。
-
文章 - 文章系统创建为“即用型”,适用于博客等静态页面或类似内容,几乎所有网站都需要它。
时间 - 成本。真的可能需要一些时间来克服,但在我重新设计之前我仍然不知道要花多少时间。
管理员经验 - 这可能是错误的,因为使用框架程序员可以只为客户真正需要的内容创建管理员。
点击并安装 - 当涉及到一些大型应用程序时,我真的在重新考虑将其标记为优势。客户往往会安装大量组件/模块/插件,从而使 Web 应用每天的工作变得越来越糟糕。
正如 scaisedge 在他的回答中所说,在此类项目中使用 Joomla 与 Yii2 相比几乎没有什么好处,因为代码的定制水平很高,而且似乎任何其他开发都支持 Yii2/任何框架基于相同的想法。这可以应用于任何其他类似的项目。
【讨论】:
以上是关于从 Joomla 迁移到 Yii2的主要内容,如果未能解决你的问题,请参考以下文章
将 Magnolia CMS 加密密码迁移到 Joomla CMS?