Namespace Conventions In Joomla: Difference between revisions
From Joomla! Documentation
m The word module was incorrect and misleading. |
m The word plugins was unecessary and misleading |
||
| Line 64: | Line 64: | ||
==== 3rd Party Plugins ==== <!--T:10--> | ==== 3rd Party Plugins ==== <!--T:10--> | ||
</translate> | </translate> | ||
* | * <CompanyName>\Plugin\<PluginGroup>\<PluginName>\ | ||
** Akeeba\Plugin\System\BackupOnDemand | ** Akeeba\Plugin\System\BackupOnDemand | ||
Revision as of 16:47, 12 January 2020
Base Namespaces
The recommended naming conventions in Joomla 4 are the following:
Core Components
- Joomla\Component\<ComponentName>\<ClientName>
- Joomla\Component\Content\Site
- Joomla\Component\Content\Administrator
3rd Party Components
- <CompanyName>\<ComponentName>\<ClientName>
- Akeeba\Backup\Site
- Akeeba\Backup\Administrator
Example locations
Joomla\Component\Content\Site\Controller
components/com_content/Controller/ArticleController.php
Joomla\Component\Content\Administrator\Controller
administrator/components/com_content/Controller/ArticlesController.php
Core Modules
- Joomla\Module\<ModuleName>\<ClientName>
- Joomla\Module\UsersLatest\Site
- Joomla\Module\Quickicon\Administrator
3rd Party Modules
- <CompanyName>\Module\<ModuleName>\<ClientName>
- Akeeba\Module\SubscriptionStatus\Site
- Akeeba\Module\LastBackupStatus\Administrator
Example locations
Joomla\Module\Quickicon\Administrator\Dispatcher
administrator/modules/mod_quickicon/Dispatcher/Dispatcher.php
Joomla\Module\UsersLatest\Site\Helper
modules/mod_users_latest/Helper/UsersLatestHelper.php
Core Plugins
- Joomla\Plugin\<PluginGroup>\<PluginName>
- Joomla\Plugin\System\Debug
- Joomla\Plugin\Quickicon\Joomlaupdate
3rd Party Plugins
- <CompanyName>\Plugin\<PluginGroup>\<PluginName>\
- Akeeba\Plugin\System\BackupOnDemand
Example locations
Joomla\Plugin\System\Debug
plugins/system/debug/DataFormatter.php
Joomla\Plugin\Quickicon\Joomlaupdate\Extension
plugins/quickicon/joomlaupdate/Extension/Joomlaupdate.php
Joomla Framework Library
- Joomla
- Joomla\Session
- Joomla\Image
Joomla CMS Library
- Joomla\CMS
- Joomla\CMS\Mail
- Joomla\CMS\MVC
Example locations
Joomla\Session
libraries/vendor/joomla/session/src/Session.php
Joomla\CMS\Mail
libraries/src/Mail/Mail.php