typo3 / fluid-schema-generator
2.3.0
2024-05-22 08:58 UTC
Requires
- php: ^8.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- phpstan/phpstan: ^1.6
- phpunit/phpunit: ^8.5 || ^9.5
- typo3fluid/fluid: ^2.6.10
README
注意
自v2.12版本起,XSD模式生成是Fluid的一部分。请尽可能使用此现代方法,而不是此项目。
它做什么?
此包是Fluid的附加组件。在编写fluid模板时,通过自动完成视图助手参数,它可能很有帮助。
通常将此包作为额外的composer 'require-dev'依赖项添加到现有项目中。
其主要目的是为(X)HTML文件生成XSD模式,这些模式可以在编辑器中用于启用Fluid模板代码的自动完成。可以为官方包以及提供ViewHelpers的任何自己的包生成模式。
安装
composer require --dev typo3/fluid-schema-generator
示例
假设您的扩展中有一个Fluid模板文件 - Resource/Private/Templates/MyTemplate.html
,该文件使用具有两个不同名称空间的视图助手。
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers" data-namespace-typo3-fluid="true"> <f:render partial="My/Partial" arguments="{_all}" /> ... more HTML and view helper usages </html>
IDE通常无法识别“f:render”标签,并会将其突出显示为无效。但是,为该名称空间生成xsd模式将使其理解该标签及其可能的属性。此示例将这两个名称空间的模式生成到项目的根目录中。
./bin/generateschema TYPO3\\CMS\\Fluid TYPO3\\CMS\\Backend > mySchema.xsd
此调用将在给定的名称空间中搜索所有视图助手类,并创建一个包含目标名称空间的xsd文件,其中包含“f”和“be”的目标名称空间。然后,像PhpStorm这样的IDE通常会自动检测此文件(如果不自动检测,请在模板上方的xmlns URL上按ALT+Enter导入文件)“理解”标签并允许属性自动完成。
用法
./vendor/bin/generateschema VendorName\\PackageName VendorName\\OptionalSecondPackage > schema.xsd
提供尽可能多的包名称空间,所有这些名称空间中的所有ViewHelper类都将包含在模式中。当确定XSD名称空间URL时,将使用提供的第一个名称空间。
许可证
MIT许可证。请参阅LICENSE文件。