What this book covers
Chapter 1, Planning Your Component, introduces the problem we want to solve and provides a simple methodology to plan the development for our extension. It also defines the database architecture that we are going to use in the book.
Chapter 2, Developing the Backend of a Basic Joomla! Component, starts the development of the backend part of a Joomla! component. It introduces Joomla! 5 MVC architecture and the new Joomla! development paradigm.
Chapter 3, Developing the Frontend of a Basic Joomla! Component, shows how to develop the frontend area of our component. It introduces Joomla! Routing and how to use Joomla! Web Assets Manager to add Styles and JavaScript to our component.
Chapter 4, Creating Forms in Joomla!, provides an overview of using forms in Joomla!. It shows how to create our forms using Joomla! API methods. It also covers Joomla! standard form fields and how to develop our own form fields. Finally, it shows how we can add server-side and client-side validation to our forms.
Chapter 5, Harnessing the Power of Joomla! in Your Component, provides a guide on the Joomla! core features we can use in our developments. It shows how to add Joomla! core permissions to our component using Joomla! ACL, it covers how to add Joomla! Categories to our component. This chapter also demonstrates how to integrate Joomla! custom fields in our extension and how to use the Joomla! translation system.
Chapter 6, Adding a Web Service API to Your Component, introduces Joomla! Web Service API. It also shows how to develop a Web Service endpoint for our extensions.
Chapter 7, Developing a Module, shows how to develop a Joomla! module using the new Joomla! architecture. It also introduces module helpers to develop more complex modules.
Chapter 8, Developing a Joomla! Plugin, introduces Joomla! plugins and shows the new plugin architecture. It explains how to trigger plugin events and covers how to develop plugins for our component.
Chapter 9, Adding a CLI to Your Extension, introduces Joomla! Command Line Interface usage. It also covers how to develop a console command for Joomla!, style its output, and include parameters in the command.
Chapter 10, Creating Unique Web Applications with Template Overrides, shows how to change any Joomla! template to meet your design specifications using template overrides. It also explains how to expand components by adding extra views.
Chapter 11, Creating a Child Template in Joomla!, introduces Joomla! template development through the new child template feature.
Chapter 12, Testing Your Extensions, shows how we can include PHP unit testing in our Joomla! extensions. It introduces Test Driven Development paradigm. It also covers how to create integration tests for your Joomla! component using Codeception. Finally, it explains how to test accessibility in your developments.
Chapter 13, Security Practices in Joomla!, covers Joomla! measures to secure your developments and provides useful tips to avoid common exploits. It also introduces the JED Checker tool for further checks.
Chapter 14, Distributing Your Joomla! Extensions, explains the manifest files for our extensions and it shows how to create a package for them. It also covers how to include an update server for our extensions. Finally, the chapter describes the mechanism built in Joomla! to allow updating extensions that are behind a paywall.