Namespace Conventions In Joomla: Difference between revisions
From Joomla! Documentation
m The word module was incorrect and misleading. |
mNo edit summary |
||
| (10 intermediate revisions by 5 users not shown) | |||
| Line 8: | Line 8: | ||
<translate> | <translate> | ||
=== | === Components === <!--T:3--> | ||
</translate> | </translate> | ||
* Joomla\Component\ | <translate> | ||
==== Core Components ==== <!--T:4--> | |||
</translate> | |||
* Joomla\Component\''ComponentName''\''ClientName'' | |||
** Joomla\Component\Content\Site | ** Joomla\Component\Content\Site | ||
** Joomla\Component\Content\Administrator | ** Joomla\Component\Content\Administrator | ||
<translate> | <translate> | ||
==== 3rd Party Components ==== <!--T:5--> | |||
</translate> | </translate> | ||
* | * ''CompanyName''\Component\''ComponentName''\''ClientName'' | ||
** | ** Acme\Component\Backup\Site | ||
** | ** Acme\Component\Backup\Administrator | ||
<translate> | <translate> | ||
==== Example locations ==== <!--T:6--> | |||
</translate> | </translate> | ||
''Joomla\Component\Content\Site\Controller''<br /> | ''Joomla\Component\Content\Site\Controller''<br /> | ||
| Line 32: | Line 38: | ||
<translate> | <translate> | ||
=== | === Modules === <!--T:7--> | ||
</translate> | </translate> | ||
* Joomla\Module\ | |||
<translate> | |||
==== Core Modules ==== <!--T:8--> | |||
</translate> | |||
* Joomla\Module\''ModuleName''\''ClientName'' | |||
** Joomla\Module\UsersLatest\Site | ** Joomla\Module\UsersLatest\Site | ||
** Joomla\Module\Quickicon\Administrator | ** Joomla\Module\Quickicon\Administrator | ||
<translate> | <translate> | ||
==== 3rd Party Modules ==== <!--T:9--> | |||
</translate> | </translate> | ||
* | * ''CompanyName''\Module\''ModuleName''\''ClientName'' | ||
** | ** Acme\Module\SubscriptionStatus\Site | ||
** | ** Acme\Module\LastBackupStatus\Administrator | ||
<translate> | <translate> | ||
==== Example locations ==== <!--T:10--> | |||
</translate> | </translate> | ||
''Joomla\Module\Quickicon\Administrator\Dispatcher''<br /> | ''Joomla\Module\Quickicon\Administrator\Dispatcher''<br /> | ||
| Line 55: | Line 67: | ||
<translate> | <translate> | ||
=== | === Plugins === <!--T:11--> | ||
</translate> | </translate> | ||
* Joomla\Plugin\ | |||
<translate> | |||
==== Core Plugins ==== <!--T:12--> | |||
</translate> | |||
* Joomla\Plugin\''PluginGroup''\''PluginName'' | |||
** Joomla\Plugin\System\Debug | ** Joomla\Plugin\System\Debug | ||
** Joomla\Plugin\Quickicon\Joomlaupdate | ** Joomla\Plugin\Quickicon\Joomlaupdate | ||
<translate> | <translate> | ||
==== 3rd Party Plugins ==== <!--T: | |||
==== 3rd Party Plugins ==== <!--T:13--> | |||
</translate> | </translate> | ||
* | * ''CompanyName''\Plugin\''PluginGroup''\''PluginName''> | ||
** | ** Acme\Plugin\System\BackupOnDemand | ||
<translate> | <translate> | ||
==== Example locations ==== <!--T:14--> | |||
</translate> | </translate> | ||
''Joomla\Plugin\System\Debug''<br /> | ''Joomla\Plugin\System\Debug''<br /> | ||
| Line 77: | Line 95: | ||
<translate> | <translate> | ||
==== Joomla Framework Library ==== <!--T: | === Framework === <!--T:15--> | ||
</translate> | |||
<translate> | |||
==== Joomla Framework Library ==== <!--T:16--> | |||
</translate> | </translate> | ||
* Joomla | * Joomla | ||
| Line 84: | Line 106: | ||
<translate> | <translate> | ||
==== Joomla CMS Library ==== <!--T: | ==== Joomla CMS Library ==== <!--T:17--> | ||
</translate> | </translate> | ||
* Joomla\CMS | * Joomla\CMS | ||
| Line 91: | Line 113: | ||
<translate> | <translate> | ||
==== Example locations ==== <!--T:18--> | |||
</translate> | </translate> | ||
''Joomla\Session''<br /> | ''Joomla\Session''<br /> | ||
Latest revision as of 18:52, 19 August 2022
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\Component\ComponentName\ClientName
- Acme\Component\Backup\Site
- Acme\Component\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