书评 - 为 Joomla! 5 开发扩展,作者:Carlos M. Cámara Mora
当我开始研究将网站从 Joomla 3 迁移到 Joomla 4 时,我意识到了 Joomla 扩展开发的变化。对我来说,一个棘手的问题是,一些扩展尚未与 Joomla 4 兼容。有些更新需要很长时间,有些在 Joomla 4 中根本无法工作。这是一个很大的跳跃,阅读这本书后,我现在对这一切有了更深的理解。
入门
这本书的序言中提到:“本书是为想扩展 Joomla! 功能的 Joomla! 用户和网页设计师而写……”但亚马逊的简介更新了这一点,将“用户”替换为“开发者”。作者相当公平地假设了读者的经验。如果它涵盖了 PHP 编码的所有方面,包括 MVC(模型-视图-控制器)做什么(及其含义),以及为什么我们需要在我们的开发中使用 Joomla 服务,那么这将是一本更长的书,但作者不能解释一切,因此每个章节后面都有有用的进一步阅读链接是非常有帮助的。然而,我有一天希望找到一本易于理解的 Joomla 服务(如 RouterFactory 和 ComponentFactory)的参考指南。
实际案例
我开始阅读这本书时,目标是更好地理解插件的工作原理,但阅读完内容后,我还想直接进入关于 Web 服务的内容,创建与扩展一起工作的表单等等。这时,Brian Teeman 的前言帮我冷静下来,我坐在电脑前,用 iPad 阅读了这本书的 PDF 版本。
我承认我的扩展开发经验始于过去某个时间(大约在 Joomla 2.5 时期),并且虽然我参与了编码,但大多是覆盖类型。通过复制现有模块并应用必要的命名空间、函数和显示层的更改,可以很好地制作一个模块,但没有现有代码的项目是一个更大的任务。幸运的是,有可下载的代码示例,并且由于这是一个工作扩展,更改名称、数据库字段和参数相当容易,从而节省了从头开始编写每一行代码的时间。
第一部分和第二部分涵盖了构建组件的案例研究,从规划、编码、安装到通过表单、Web服务、模块和插件扩展功能。
第三部分是关于在Joomla中创建模板和子模板的有益讨论。毕竟,有五种类型的扩展,模板就是其中之一。
我们都知道测试,以及进行一些测试以确保网站、扩展和包能够完成它们应该做的事情是多么重要,但有时这仅仅是确保在加载页面时不会出现错误。第12章引导我们进入测试的“为什么”和“如何”。这是书的结尾部分,但却是我在阅读时最想停下来查看CodeCeption的时刻。阅读清单也非常全面。
正确的方式
Joomla 5中扩展的构建方式已经改变,这本书在描述组件、模块和插件中所需的正确文件结构和命名空间使用方面非常有帮助。它还巧妙地区分了模块和插件,使我明白一个是产生我看到的,另一个是影响我已经在屏幕上看到的内容。
随着我们接近书的结尾,第13章有益地花时间讨论了安全方面、处理表单输入以及确保任何数据输入在进入数据库之前被过滤。幸运的是,这可以在XML清单文件中处理,因此可以在一个地方构建表单,包括所有验证。它还带我们了解了网站可能被攻击的其他方式,如何防止攻击,以及如何加强安全。
正如你预料的那样,在扩展开发之旅的最后一章,是关于如何分发Joomla扩展的讨论,包括商业开发者收费的方法。为此,读者将完全准备好从纸上的一份计划到一个完整功能的应用程序。在322页中,这是一项相当大的成就。
结论
我觉得这本书给了我创建扩展所需的大量知识,包括术语和结构,但我也需要理解为什么需要做它告诉我的事情。我可以继续在寻找Joomla类和服务的资料中打转,但这是我在Joomla文档中有时感到的挫败。幸运的是,阅读资源更广泛,作者的选取也很周到,包括组件功能的基本原理,这是一本必读的书。在我的第二次阅读这本书时,我将安装下载的文件,并尝试将扩展变成自己的。如果在过程中弄坏了什么东西,这可以帮助我从错误中学习。这是一本要求实际参与才能完全欣赏Joomla魔力的书。
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能不与Joomla项目的官方立场一致
通过接受,您将访问https://magazine.joomla.net.cn/外部第三方提供的服务
评论 1
谢谢Dan,非常有信息量。希望有更多书籍问世。