Namespace Conventions In Joomla: Difference between revisions
From Joomla! Documentation
better to use an anonymous company name as an example |
m Added extra headings to make it more defined |
||
| Line 8: | Line 8: | ||
<translate> | <translate> | ||
==== Core Components ==== <!--T: | === Components === <!--T:3--> | ||
</translate> | |||
<translate> | |||
==== Core Components ==== <!--T:4--> | |||
</translate> | </translate> | ||
| Line 16: | Line 20: | ||
<translate> | <translate> | ||
==== 3rd Party Components ==== <!--T:5--> | |||
</translate> | </translate> | ||
* <CompanyName>\<ComponentName>\<ClientName> | * <CompanyName>\<ComponentName>\<ClientName> | ||
| Line 23: | Line 27: | ||
<translate> | <translate> | ||
===== Example locations ===== <!--T: | ===== Example locations ===== <!--T:6--> | ||
</translate> | </translate> | ||
''Joomla\Component\Content\Site\Controller''<br /> | ''Joomla\Component\Content\Site\Controller''<br /> | ||
| Line 32: | Line 36: | ||
<translate> | <translate> | ||
===== Core Modules | === Modules === <!--T:7--> | ||
</translate> | |||
<translate> | |||
==== Core Modules ==== <!--T:8--> | |||
</translate> | </translate> | ||
* Joomla\Module\<ModuleName>\<ClientName> | * Joomla\Module\<ModuleName>\<ClientName> | ||
| Line 39: | Line 47: | ||
<translate> | <translate> | ||
==== 3rd Party Modules ==== <!--T:9--> | |||
</translate> | </translate> | ||
* <CompanyName>\Module\<ModuleName>\<ClientName> | * <CompanyName>\Module\<ModuleName>\<ClientName> | ||
| Line 46: | Line 54: | ||
<translate> | <translate> | ||
===== Example locations ===== <!--T: | ===== Example locations ===== <!--T:10--> | ||
</translate> | </translate> | ||
''Joomla\Module\Quickicon\Administrator\Dispatcher''<br /> | ''Joomla\Module\Quickicon\Administrator\Dispatcher''<br /> | ||
| Line 55: | Line 63: | ||
<translate> | <translate> | ||
==== Core Plugins ==== <!--T: | === Plugins === <!--T:11--> | ||
</translate> | |||
<translate> | |||
==== Core Plugins ==== <!--T:12--> | |||
</translate> | </translate> | ||
* Joomla\Plugin\<PluginGroup>\<PluginName> | * Joomla\Plugin\<PluginGroup>\<PluginName> | ||
| Line 62: | Line 74: | ||
<translate> | <translate> | ||
==== 3rd Party Plugins ==== <!--T: | ==== 3rd Party Plugins ==== <!--T:13--> | ||
</translate> | </translate> | ||
* <CompanyName>\Plugin\<PluginGroup>\<PluginName>\ | * <CompanyName>\Plugin\<PluginGroup>\<PluginName>\ | ||
| Line 68: | Line 80: | ||
<translate> | <translate> | ||
===== Example locations ===== <!--T: | ===== Example locations ===== <!--T:14--> | ||
</translate> | </translate> | ||
''Joomla\Plugin\System\Debug''<br /> | ''Joomla\Plugin\System\Debug''<br /> | ||
| Line 77: | Line 89: | ||
<translate> | <translate> | ||
==== Joomla Framework Library ==== <!--T: | === Framework === <!--T:15--> | ||
</translate> | |||
<translate> | |||
==== Joomla Framework Library ==== <!--T:16--> | |||
</translate> | </translate> | ||
* Joomla | * Joomla | ||
| Line 84: | Line 100: | ||
<translate> | <translate> | ||
==== Joomla CMS Library ==== <!--T: | ==== Joomla CMS Library ==== <!--T:17--> | ||
</translate> | </translate> | ||
* Joomla\CMS | * Joomla\CMS | ||
| Line 91: | Line 107: | ||
<translate> | <translate> | ||
===== Example locations ===== <!--T: | ===== Example locations ===== <!--T:18--> | ||
</translate> | </translate> | ||
''Joomla\Session''<br /> | ''Joomla\Session''<br /> | ||
Revision as of 04:17, 20 August 2020
Base Namespaces
The recommended naming conventions in Joomla 4 are the following:
Components
Core Components
- Joomla\Component\<ComponentName>\<ClientName>
- Joomla\Component\Content\Site
- Joomla\Component\Content\Administrator
3rd Party Components
- <CompanyName>\<ComponentName>\<ClientName>
- Acme\Backup\Site
- Acme\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
Modules
Core Modules
- Joomla\Module\<ModuleName>\<ClientName>
- Joomla\Module\UsersLatest\Site
- Joomla\Module\Quickicon\Administrator
3rd Party Modules
- <CompanyName>\Module\<ModuleName>\<ClientName>
- Acme\Module\SubscriptionStatus\Site
- Acme\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
Plugins
Core Plugins
- Joomla\Plugin\<PluginGroup>\<PluginName>
- Joomla\Plugin\System\Debug
- Joomla\Plugin\Quickicon\Joomlaupdate
3rd Party Plugins
- <CompanyName>\Plugin\<PluginGroup>\<PluginName>\
- Acme\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
Framework
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