Use PhpStorm as an IDE for Joomla! development.
JetBrains PhpStorm is an innovative and cross-platform IDE that become popular over the last couple of year. It is perfect for working with Drupal, Symfony, Laravel, WordPress, Zend Framework, Joomla, CakePHP, and other frameworks. PhpStorm 2019.1.3 is the latest version of the PhpStorm. PhpStorm is perfect for working with Symfony, Laravel, Drupal, WordPress, Zend Framework, Magento, Joomla!, CakePHP, Yii, and other frameworks. All the PHP tools The editor actually ‘gets’ your code and deeply understands its structure, supporting all the PHP language features for modern and legacy projects. Bug: WI-52781: New Project Joomla! Integration Joomla! Plugin creates an empty project in 2020.1: Code Analysis. Inspection: Bug: IDEA-238616: Inspection 'Return null or something nullable from lambda in transformation method' incorrectly flags Consumer in Mono.doOnNext: Core: Bug: IDEA-231783. PhpStorm wasn't resolving those paths (understandably so), so I created a constant to takes it's place. That makes more sense anyway. In today's battle, I discovered that you can do this: /. @define 'rootdir' '/home/me/project/'./ // or /. @define 'ROOTDIR' '/home/me/project/'./ If you put that anywhere in the file then PhpStorm is able. Open PHPStorm and create a new project; Open the terminal and type the following: vagrant box add joomlatools/box. 8.Wait for the download to complete.Then type: vagrant init joomlatools/box. Now you have a full fledged Joomla development environment with a joomla.
Before you start
Download and install Joomla!.
Before you start working with Joomla!, make sure that the Joomla! Integration plugin is enabled. The plugin is bundled with PhpStorm and is activated by default. If the plugin is not activated, enable it on the Plugins page of the Settings/Preferences dialog Ctrl+Alt+S as described in Manage plugins.
Joomla! support
Joomla! support includes:
Phpstorm Joomla Download
Ability to create a new project.
JHTML::_($argument)
,JText::_($argument)
,JText::script()
,JText::sprintf();
support.When
JHTML::_($argument)
is used, PhpStorm navigates with Ctrl+Click on the first argument to the corresponding class or method.For example, consider the following code:
<?php $options[] = JHtml::_('select.option', $eid, $extension_name);Ctrl+Click on
select.option
leads to navigation to theoption
method of the classselect
.When all the other constructs are used, PhpStorm navigates with Ctrl+Click on the first argument to the corresponding property in the .ini file. For example, in the code
$msg = JText::sprintf('COM_INSTALLER_INSTALL_ERROR', JText::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($package['type'])));Ctrl+Click on
'COM_INSTALLER_INSTALL_ERROR'
leads to navigation to the property'COM_INSTALLER_INSTALL_ERROR'
in the file en-GB.com_installer.ini.Joomla! code style can be selected for the code in the PHP page of the Editor settings, when clicking the link Set from.
PhpStorm detects Joomla when opening a Joomla! module/plugin/extension or a Joomla! root folder, and suggests enabling Joomla! support, and adjusting namespaces.
DocBlocks standards for PHP files, classes, class properties, and so on. When Joomla! support is recognized, PhpStorm suggests installing DocBlocks:
PhpStorm suggests importing the Joomla! code style. See section Configure Joomla! support
PhpStorm detects databases in projects. Click in the Database tool window tool window and choose Import from sources....
The settings specified in the file configuration.php are detected and used for the new data source connection.PhpStorm provides database prefixes support and changes
#__
to the prefix that is defined in the$dbprefix
field in the configuration.php file.It is worth noting that a database dialect should be selected on the SQL Dialects page of the Settings/Preferences dialog Ctrl+Alt+S. Note also that the type of the selected dialect should match your database type.