Itself DON'T: Using eval() The fine art of writing error messages Adding Composer dependencies Library packages Use the right core folder A. General advice and code magic Clarity unlocks efficiency Write code which doesn't suck DON'T: Hard-coded database queries DON'T: Using superglobals ($_REQUEST, $_SERVER, $_GET, $_POSTĮtc) DON'T: Using REMOTE_ADDR to get the user's IP DON'T: Include duplicate copies of libraries shipped with Joomla Templates Major changes in Joomla 4 Sub-templates Error pages Using Cassiopeia to create a custom template Custom template from scratch Custom fields in your templates Per-category view templates in com_content Migration strategy 6. Modules Legacy vs Joomla 4 modules Legacy modules (Joomla 1.x to 3.x) Joomla 4 modules Service Locator Extension class Language files The Helper View templates Interfacing with your component 5. Plugins The many forms of a Joomla plugin Legacy (Joomla 1.x to 3.x) Joomla 4 classic Joomla 4 with SubscriberInterface Legacy vs Event Listener methods Namespaces Service Provider Extension class (plugin) Language files How NOT to break Joomla with your plugin Generic versus Concrete events 4. Components The Joomla MVC: an introduction Joomla 3 MVC vs Joomla 4 MVC The lifetime of a component Booting the component Getting the Dispatcher Dispatching the component Directory structure Service provider Extension class Naming your extension class Using your extension class in the service provider Using your extension class from outside the component Getting access to the component's DIC anytime, anywhere Dispatcher Namespaces and MVC How things worked from Joomla 1.5 to 3.10 How things work Joomla 4.0 onwards The MVCFactory Models Interfaces and Traits Pushing services to the Model: the Joomla Way Pushing services to the Model: an alternative Controllers Basic services in your Controller Views Tables Getting the table object Customising the validation Using plugin events Add type hints with phpDoc DocBlocks and Basic relation management with getters and setters Asset management Working with arrays and JSON data HTML helper service Categories Database schema changes Changes to your XML manifest and forms The Category service Router The case for URL routing Intermission: abandon all hope ye who enter here Joomla 3 vs Joomla 4 Using RouterView Pushing dependencies to the Router Dashboard The installation script Component menus The default component menu Backend menu items Frontend menu items Passing data from the backend to the JavaScript on the page Language files Mail Templates The CLI application Command classes Console plugins The API application Overview Access and Authentication The API part of your component Adding it to your XML manifest Controllers Models Views Web services plugin Integration with Scheduled Tasks Custom fields 3. Basic concepts Namespaces Dependency Injection Container / Service Locator Web Asset Management 2. Table of Contents Introduction About this book About the author New Joomla 4 features at a glance 1. You should have received a copy of the GNU General Public LicenseĪlong with this sample program code if not, write to the Free Softwareįoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 See the GNU General Public License for more details. Of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This sample program code is distributed in the hope that it willīe useful, but WITHOUT ANY WARRANTY without even the implied warranty General Public License as published by the Free Software Foundation Įither version 2 of the License, or (at your option) any later You can redistribute it and/or modify it under the terms of the GNU The Joomla! logo is used under a limited license grantedīy Open Source Matters, the trademark holder in the United States andĪll code found in the code samples in this book is free software It is not supported or warranted by the Joomla! Project or Open This work is not affiliated with or endorsed by the Joomla! AĬopy of the license is included in the section entitled " GNU Free Documentation License". No Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Permission is granted to copy, distribute and/or modify thisĭocument under the terms of the GNU Free Documentation License, Versionġ.3 or any later version published by the Free Software Foundation with
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |