- XF-Kompatibilität
- 2.3.x
- Kurzbeschreibung
- XenForo type generator tool fills gaps left by core, types board options, XFCP proxies, and cross-addon columns. Use xf-typegen with --out to generate PHPStorm metadata JSON files for better IDE support. Open source at https://github.com/wh1teend/xf-typegen.
XenForo schreibt sich bereits viel ihrer eigenen Runtime-Magic - xf-dev:generate-phpstorm-meta (in der 2.2 und 2.3 mitgeliefert) löst die String-Style-Call-Sites auf - Entities liefern vollständige@propertyWas ist Core nicht typiert, entweder Version:
- []*Boardoptionen— XF:😱ptions()->boardTitle ist gemischt; dies gibt es einen echten Typ.[]*XFCP Proxys— class Foo extends XFCP_Foo punktualisiert eine runtime-bauen Klasse ohne Datei, markiert als undefiniert; dies erklärt sie.[]*Kreuzen der Spaltenaddon— eine Spalte, ein Add-On, das einer Instanz durch XFCP hinzugefügt wird, ist nicht in dieser Instanz enthalten.@property; Dies lesen die strukturierte Komposition, daher sind sie enthalten.
On 2.2 nur,, es fügt auch die Suchkette hinzu (finder('XF:User')->fetchOne() an den konkreten Entity), was 2.2 ohne Generics nicht machen kann.
Wenn Sie auf 2.3 sind und keiner von denen Ihnen auf die Fresse blickt, decken sich die Stock-Dev Tools schon automatisch.
- _ide_helper_options.php — eine typierte Eigenschaft pro Board-Einstellung.
- _ide_helper_xfcp.php — Deklarationen für die runtime XFCP_* Proxye.
- _ide_helper.php — typisierte Finder/Sammlung Stub (hauptsächlich für 2.2) + Entity@propertyvom komponierten Struktur.[
- .phpstorm.meta.phpstring-stil-kall-sit-resolvement (dubbledup xf-dev:generate-phpstorm-meta; spring mit --targets-opts, xfcp, ide-helper.)
Code:
xf-typegen extract /path/to/xenforo --out /path/to/xenforo/xf-typegen.json
xf-typegen generate -i /path/to/xenforo/xf-typegen.json
Keep the _ide_helper*.php files out of your PHP autoload — static analysis only.