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

关于Joomla 3.0扩展开发的[系列文章]:配置场景

Серия [статей] по разработке расширения Joomla 3.0: настраиваем сцену

我曾在是否需要撰写这个系列文章的第一篇文章上犹豫了一段时间,但最终还是决定这确实是必需的材料。确保你有一个坚实的基础非常重要,并且在为Joomla 3.0编写任何组件时,有一些方面需要从第一天开始规划。本文是关于扩展开发系列文章的第一篇,它不讨论该扩展正确规划和组织的基础步骤就不完整。以下是我发现开始成功扩展Joomla的最有效步骤。

零步:准备好咖啡

我写这段话半开玩笑,但这个步骤确实一半是重要的。在开始任何工作之前,重要的是准备一杯你最喜欢的饮料,这有助于你保持清醒和专注。养成某种习惯可以帮助你的身体和大脑形成一种习惯,让你为即将到来的工作做好准备。在编写代码时,确保你始终保持警觉,充满活力,并且任何时候都在思考你正在编写的下一行代码以及整体目标。

第一步:从一块黄色的便签纸和一支笔开始

几乎所有我们的项目都是从一本黄色页面的笔记本开始的。您可能更喜欢其他颜色的纸张,这完全取决于您的选择。我推荐黄色有几个原因,但它绝对不是必需的。我也推荐使用钢笔而不是铅笔。[用铅笔写的]东西容易模糊,想法容易丢失,线条容易模糊,这并不是为了写出一个完美的计划,而是为了有效地思考,随意地写下想法,并简单地在大纲上草拟想法。往往到最后,这样[的结果]并不太令人愉快。使用某种钢笔可以帮助您[真正地]思考;否则,铅笔会让您陷入擦除、重写和其他“绝对不能”的想法草拟过程中。

第二步:确定您的需求、目标市场和解决的问题

好的。那么现在您应该坐在您的热饮、笔记本和钢笔旁边,准备好开始下一步。开始记录您的想法。从您想要解决的问题开始,为什么您要写这个扩展,您将关注哪些关键思想,以及您认为您的扩展[应该]做什么。在这个时候进行一些研究也很重要。是否已经存在这样的组件?有人已经实现了类似的产品,可以被视为您的竞争对手吗?您要编写的这个组件的市场规模有多大?这很重要,需要认真考虑,并且有一些警告我想引起您的注意。

首先,不要试图编写一个“指环王”(即一个管理所有组件并连接它们的组件),[相反]确定您想要解决的核心问题,然后——集中精力,集中精力,再集中精力。这样您会过得更轻松,您的营销也会更顺畅。其次,确保您的目标市场[已经]存在。不要假设如果您的组件对您有用,那么它对其他人也会有用。在您的期望中保持现实主义,您会随着进步变得更加自信。

第三步:编写您的应用程序/扩展的整体流程

一旦您在纸上草拟了您的想法、目标市场和您想要解决的问题,下一步就是编写您组件的整体流程。很可能在您进行前一步的同时就已经完成了这项工作,甚至在您草拟想法的时候——您草拟的思想越多,您开始这个提取[要点]的工作流程就越容易。记录您需要的[哪些]控制器、模型和视图。现在,是时候退一步,讨论组件[系统]Joomla! 3.0的第一个重要开发部分——“模型-视图-控制器”["Model-View-Controller"]架构和[系统]Joomla!。

Joomla使用相当标准的“MVC”结构,但它与其他平台使用的框架略有不同。

[系统]Joomla 3.0将每个任务视为某种控制器。这意味着您最可能有的控制器名称是“保存”、“添加”、“编辑”、“删除”等等。每个控制器只执行一项任务。一开始可能看起来您有太多的文件,但最终这为通过组件提供了直观的流程,并有助于将多个命令绑定在一起(我将在本系列的稍后部分更详细地讨论这个问题)。

这个模型在[系统]Joomla中处理实际的数据操作。这是您想要[存储]所有逻辑和代码的地方。模型通常用于表示组件的关键单元或对象(如分类、对象等)。在模型内部,您有与特定对象相关的一些函数(例如,列出、获取、保存等等)。

最后,您将拥有自己的文件,例如[view]。Joomla将一些标准方法整合在一起,[那就是]如何构建这些视图,我们将在本系列[文章]中更详细地探讨这一点。目前只需知道,视图通常在结构上类似于具有多个视图的模型,这些视图与您组件的每个关键单元或对象相关。

这应该为您提供了一个简要(尽管可能有些简化)的Joomla MVC结构[概述],并希望这足以帮助您思考如何编写组件的主流程以及如何开始下一步。

第四步:组织数据结构和表方案

尽管在开发任何扩展的第一个步骤中存在许多方法,但我们发现下一步——如何最合理和直观地应用——是最合适的。一旦我们记录了上述所有信息,并确定了组件的关键部分及其主流程,我们就进行下一步,组织我们的数据结构和表方案。

在这个阶段,我们开始分解之前定义的每个模型(或关键部分),并记录我们打算在模型或表上使用的每项字段。在大多数组件中,为了保存相应的数据,您需要为每个模型创建一个关联的表。在为Joomla系统编写组件时,存在一些被认为是标准表字段的字段,我们将在编写代码时在本系列[文章]中详细介绍。当我们记录我们的表结构时,我们试图遵循一些约定。例如,如果我们计划将某个对象与特定类别关联,则将在对象的表中包含一个“category_id”编号。同样,如果我们预计对象将与用户关联,则将包含一个“user_id”编号。这将在我们开始手动编写表并将它们输入SQL数据库构造器时有所帮助。有时我们甚至会画线连接我们的表,以更好地直观表示它们之间的关系。

第五步:设置版本跟踪方法 (GitHub) 2

这一步并不一定要是下一个步骤,但我们通常发现这是开始设置版本跟踪的好时机。由于多种原因,我们更喜欢GitHub 2。如果您不熟悉GitHub 2:您可以拥有一个公开的(免费)或私人的(只需极小费用)帐户,然后跟踪您代码的所有更改,并在互联网上安全地存储您辛苦工作的备份。不仅如此,它还提供了多人编写代码的便利,而无需担心他们会相互更改代码。如果您不选择GitHub 2,这很正常。这绝对不是唯一的选择,但重要的是您要选择一种使用备份、跟踪和保护您代码的方法。

第六步:设置您的本地开发环境

本初阶文章的最后一部分是设置您的本地开发环境。我将简要说明我们有很多不同的选择,而不是详述您可以使用的方法来编写代码,我只想说,在我们的开发过程中,我们现在正在设置我们的环境。我们将创建三个本地的Joomla安装,GitHub 2上的我们的仓库副本,并创建必要的“symlink”到我们的目录。我个人使用“Sublime Text 2” 3来管理我的代码,并且对于大部分的编码工作,我发现Git工具相当满意。存在许多您可以使用的应用程序,而不是贬低它们,我鼓励您找到最适合您的[个人]工作流程和代码编写风格的工具。

下个月的文章第二篇——“开始开发”  


 

 1 本文作者David Hurley的英文原文为: https://magazine.joomla.net.cn/issues/issue-jan-2013/item/1034-joomla-30-extension-development-series-setting-the-stage

2 根据维基百科,“GitHub 是最大的IT项目托管和协作开发平台。基于Git版本控制系统,由GitHub, Inc(原Logical Awesome)使用Ruby on Rails和Erlang开发。该服务对开源项目完全免费,提供所有功能(包括SSL),并为私有项目提供多种付费套餐。”

3 根据维基百科,“Sublime Text 是一款快速的多平台源代码编辑器。支持Python语言插件。Sublime Text不是开源软件,但某些插件以开源许可证发布,并由开发社区开发和维护。” 

Joomla社区杂志上的一些文章代表作者对特定主题的个人观点或经验,可能与Joomla项目的官方立场不一致。

0
Joomla! pour mon entreprise (partie 2)
CMS-Garden en plein essor !
 

评论

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

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