XOOPS Support Plugin for PhpStorm: Alpha 3 is herePhpStorm finally speaks XOOPS.
XOOPS Support 1.0.0 Alpha 3 teaches the IDE the conventions that used to live only in our heads: language constants,
xoops_version.php, the
<{ }> Smarty delimiters, the
isResultSet guard, the direct-access guard. The result is fewer round trips to the browser, fewer "why is this blank" moments, and cleaner modules on the first commit.
DOWNLOAD / INSTALLATION: Install it from the JetBrains Marketplace:
plugins.jetbrains.com/plugin/33478What you getCtrl+B on language constants. Put the cursor on
_MI_,
_AM_,
_MD_,
_CO_ or
_MB_ and jump straight to its
define(), with
language/english/ preferred. Find Usages works the other way round. Completion now reads every file under
language/, not a fixed list, so your own catalogs are covered.
Templates that match the manifest. Two inspections keep
xoops_version.php and the
templates/ folder in sync. A registered template that is missing on disk is flagged, and so is a
.tpl on disk that was never registered. Both come with a one-click fix: create the file, or append the manifest entry.
Ten inspections with Alt+Enter fixes. Missing
defined('XOOPS_ROOT_PATH') || exit guard,
fetchArray() without
isResultSet(),
query() used for a write, the deprecated
queryF() /
quoteString(),
XOBJ_DTYPE_UNICODE_* (deprecated since 2.7.3), raw
$_GET /
$_POST /
$_REQUEST, bare
{if} instead of
<{if}>, and
include where
include_once belongs. Each one explains why in its description and fixes itself with a keystroke.
A site-wide Overview. The XOOPS Support tool window scans the whole install in the background, lists every module with its template, language, preload and class counts, and turns every finding into a clickable
file:line. Cancel works, and it stays idle until you press Refresh.
Core-version aware. Tell the plugin whether the project targets 2.5, 2.7 or 4.0 and the inspections adjust. The UNICODE deprecation, for example, stays quiet on a 2.5 LTS project.
What changed in Alpha 3This release grew out of real field reports on production modules, and every fix has a test behind it.
* Findings are no longer reported twice per file.
* The
isResultSet quick-fix applies cleanly in an Inspect Code batch, and an early-exit guard now covers
while (list(...) = $db->fetchRow($result)).
* The direct-access guard understands namespaced files,
die as well as
exit, short
<? tags and multiple
declare statements, and inserts after
namespace where PHP requires it. Entry points,
admin/ scripts and 404 stubs are left alone.
* Block templates in
templates/blocks/ registered by bare name, the
['template'] = '…' assignment style, and manifests with URLs in descriptions all parse correctly, so the Overview no longer shows phantom template findings.
* Commented-out
define() calls stay out of completion and navigation.
* Your Core Version setting from Alpha 2 carries over.
Try it* Install the plugin and open your XOOPS webroot in PhpStorm.
* Open
View → Tool Windows → XOOPS Support and press
Refresh.
* Open any module file and press
Alt+Enter on a highlight.
The full walkthrough is in the tutorial that ships with the plugin. Feedback and bug reports are welcome at
github.com/XOOPS/phpstorm-plugin.