8分钟阅读时间 (1637个单词)

系列:开发Joomla! 3.0扩展 - 第1集:准备场地

Série : développer une extension Joomla! 3.0 - Episode 1 : préparer le terrain

关于这个系列的第一篇文章的实用性,我已经思考了一段时间,最终我决定这篇文章实际上是有价值的。确实,确保你有坚实的基础非常重要,因为当你为Joomla! 3.0创建组件时,许多方面必须在第一天就考虑和计划。这是关于开发扩展的一系列文章的第一篇;如果不在讨论扩展规划与结构步骤的初期和必要阶段,这个系列将是不完整的。因此,我提出以下步骤,希望能帮助你提高效率并确保你在Joomla!扩展实现方面的成功。

第0步:准备一杯好咖啡

(当然,我写这个段落并非没有讽刺意味,但将这个步骤称为“半重要”是有原因的。)在开始工作之前,重要的是准备一杯你最喜欢的饮料,这将帮助你保持警觉和专注。通过建立一定的例行程序,你将使你的身体和大脑习惯于进入最佳工作状态。
当你开始编写代码时,重要的是要保持警觉、清醒,不仅要考虑要写的下一行代码,还要始终牢记你的项目整体视图。
你的咖啡准备好了吗?那么是时候开始了。

第1步:从简单的笔记本和你的选择笔开始

我们的几乎所有项目都是在一个简单的笔记本上开始的。你可以选择其他类型的纸质支持,根据你的个人喜好。就我个人而言,我会推荐传统的笔记本,但绝对不是强制性的。
我还推荐您使用钢笔而不是普通的铅笔。铅笔容易留下痕迹,想法会丢失,线条会模糊。这里的目标不是写一个完美的计划,而是思考、草拟和简单地将想法写在纸上。结果往往不是很美观。使用钢笔会邀请您思考,而使用铅笔您则可以擦除、重写并“陷入困境”。

步骤 2: 确定您的需求、目标市场和要解决的问题

很好,现在您应该已经舒适地坐在那里,手里拿着热饮、记事本和钢笔:准备进行下一步!
开始把您的想法写在纸上。
从您想要解决的问题开始:您为什么写这个扩展?您需要关注哪些主要想法?您的扩展需要做什么?
在这个阶段,一些研究是必要的。是否已经存在这样的组件?有人提出过可以与您的产品竞争的类似产品吗?您的组件的目标市场有多大?
我特别提醒您注意这些因素,因为需要考虑一些预防措施。

首先,不要试图编写一个能够做所有事情的单一组件。明确您希望开发的特性和您想要解决的问题。然后集中精力,集中精力,再集中精力!这将显著简化您的生活,并使您的营销更容易。
其次,确保您的目标市场确实存在。不是您需要这个组件,别人就一定需要。
对您的期望保持现实,您将随着您的进展逐步获得信心。

步骤 3:编写您的应用程序/扩展的流程

一旦您已经草拟了您的想法,确定了您的目标市场以及您想要解决的问题,下一步就是描述组件的整体流程。
这个操作很可能与上一个步骤同时进行,并且在把您的想法写在纸上时,您可能会意外地开始这个过程。
确定您需要的控制器、模型和视图。这可能是在讨论 Joomla! 3.0 开发组件的第一部分重要内容的时候:模型-视图-控制器(MVC)架构和 Joomla!。

Joomla! 实现了一个相当标准的 MVC 结构,但与某些平台使用的 MVC 结构略有不同。Joomla! 3.0 将每个任务视为控制器。这意味着您肯定需要“保存”、“添加”、“编辑”、“删除”等控制器。每个控制器只完成一项任务。一开始,您可能会发现您有太多的文件,但最终这有助于组件层面的直观流程以及多个命令的同时执行(我将在我们开始编写控制器文件时更详细地讨论这个问题)。

Joomla! 中的模型处理数据管理。这是您需要所有代码逻辑的地方。模型通常是为了表示组件的单一键或对象(例如:类别、文章等)而创建的。在模型中,您将有一系列与特定对象相关的函数(例如:列出、获取、保存等)。

最后,您有了视图文件。Joomla! 对于生成这些视图采用了一种标准的方法,但同样,我们将在本系列文章的后续部分更详细地讨论这个问题。在此阶段,需要明确的是,视图遵循与模板类似的结构,每个键(或组件的对象)都有与之相关的不同视图。

以上内容应该为您提供了一个对 Joomla! MVC 结构的简要概述(尽管可能有些简略),并且我希望这足以让您对组件编写中的流程组织有一个大致的概念,从而能够进行下一步。

第4步:组织数据结构和表结构

虽然在创建扩展时,对于第一步有多种可行的方法,但下一步必须尽可能合理和直观。
在将上述信息写下来,确定了组件的关键元素和整体流程后,下一步就是组织我们的数据结构和创建表结构。

在这一步中,我们首先分解先前确定的每个模型(或关键区域),并编写我们将在此模型或表中使用的每个字段。大多数组件都需要将每个模型与一个表关联起来,以便存储相应的数据。我们可以将某些字段称为标准表字段,它们在编写 Joomla! 组件时使用。我们将在本系列文章的后续部分介绍这些字段,当我们开始编写代码时。在编写我们的表结构时,我们必须遵循某些标准化约定。例如,如果我们打算将一个元素与特定的类别关联起来,我们将向元素表添加一个 "category_id"。同样,如果我们希望将元素与用户关联起来,我们将添加一个 "user_id"。这将在我们开始将我们手动编写的表导入 SQL 构造函数时非常有用。有时,绘制不同表之间的线条甚至可能很有用,以更好地了解所有内容是如何关联的。

第5步:配置版本控制系统(GitHub)

现在立即进行此操作不是必需的,但最终,没有规则,这可能正是建立未来版本跟踪的好时机。
我们推荐 GitHub,原因有很多。如果您不熟悉 GitHub,请知道您可以选择一个公共存储库(免费)和一个私有存储库(月费极低)。这样,您可以跟踪所有代码更改,同时在外部安全地保存所有工作。另一个优点是,其他用户可以贡献代码,而不会覆盖其他用户的代码。当然,您完全可以选择 GitHub 以外的其他解决方案,这绝对不是唯一的选择,但您找到一种能够保存、跟踪和安全保护您代码的系统是至关重要的。

第6步:配置您的本地环境

本篇第一篇文章的最后一部分是在本地配置一个开发环境。我强调一点,现在有众多解决方案,但在这里,我只想告诉您,现在是时候建立您的本地开发环境了。
我们将本地安装一个Joomla! 3,将其克隆到我们的GitHub仓库,并根据需要链接我们的目录。我个人来说,为了管理我的代码,我使用Sublime Text 2,并且觉得Git集成的工具对大部分代码编写来说非常令人满意。有各种各样的软件你可以使用,但与其贬低它们,我鼓励你找到最适合你的工作方法和编码风格的那一个。


下个月:开始开发

在系列

在Joomla社区杂志上发表的一些文章代表作者对特定主题的个人意见或经验,可能不符合Joomla项目的官方立场。

0
系列:开发Joomla! 3.0扩展 - 第...
Joomla! 人物
 

评论

已经注册? 在此登录
尚未发表评论。成为第一个发表评论的人

通过接受,您将访问https://magazine.joomla.net.cn/之外的第三方外部服务