csoellinger / silverstripe-model-annotations-task
一个用于生成数据对象模型注解的 SilverStripe 任务,包括定义的数据库字段以及扩展中定义的字段。
Requires
- php: >=7.4,<8.1
- ext-ast: *
- ext-bcmath: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-sodium: *
- azjezz/psl: ^1.6
- silverstripe/framework: ~4.10
Requires (Dev)
- pds/skeleton: ^1.0
- php-parallel-lint/php-parallel-lint: ^1.3
- php-standard-library/psalm-plugin: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.4
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.1
- phpstan/phpstan-strict-rules: ^1.1
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.16.1
- silverstripe/sqlite3: ^2
- squizlabs/php_codesniffer: ^3
- vimeo/psalm: ^4.22
README
此模块添加了一个开发任务,用于生成数据对象模型的注解。问题是如果你经常使用 silver stripe 模型,你会知道没有任何 IDE 可以处理数据库字段作为属性和/或集合作为方法。因此,我创建了此任务,它使用模型自身及其所有扩展的现有配置来完成我的模型。处理的配置:db、has_one、has_many、many_many、many_many(through)、belongs_to、belongs_many_many。
需求
- PHP 7.4 - PHP 8.0
- PHP-AST 扩展
- PHP-BCMATH 扩展
- SilverStripe ^4.10
安装
composer require --dev csoellinger/silverstripe-model-annotations-task
用法
运行 dev 构建,以加载任务,然后您可以在浏览器或 CLI 中执行它。
网络
https:///tasks/ModelAnnotationsTask
终端
vendor/bin/sake dev/tasks/ModelAnnotationsTask
可选参数
- dryRun=0/1
- quiet=0/1
- createBackupFile=0/1
- addUseStatements=0/1
请参阅下面的选项部分以获取有关参数的更多信息。
选项
以上所有可选参数都可以在 ModelAnnotationsTask 中作为 silverstripe 配置设置。唯一的区别是配置设置为布尔变量,而不是整数。默认情况下,dryRun 设置为 true。如果您想使用此任务写入文件,则需要设置配置或设置参数为 false。
dryRun (默认:true)
仅打印浏览器或终端中的更改,而不写入任何文件。
quiet (默认:false)
无输出。
createBackupFile (默认:false)
在写入模型之前创建一个备份文件。仅当 dryRun 为 false 时。
addUseStatements (默认:false)
收集未声明为 use 语句的数据类型,并将它们添加到文件中。如果此配置为 true,它还会缩短数据类型。
示例
在这里,您可以看到使用任务后模型文件的外观。
您的输入
<?php class Player extends DataObject { private static $db = [ 'Name' => 'Varchar(255)', ]; private static $has_many = [ 'Jobs' => 'Job', ]; }
任务将写入此文件
<?php /** * @property string $Name Name... * * @method HasManyList Jobs() Get jobs */ class Player extends DataObject { private static $db = [ 'Name' => 'Varchar(255)', ]; private static $has_many = [ 'Jobs' => 'Job', ]; }
文档
许可证
查看 许可证
维护者
- CSoellinger christopher.soellinger@gmail.com
错误跟踪器
错误在存储库的问题部分跟踪。在提交问题之前,请先阅读现有问题,以确保您的独特性。
如果问题看起来像是一个新的错误
- 创建一个新的问题
- 描述重现您的问题所需的步骤,以及预期的结果。单元测试、屏幕截图和屏幕录像在这里可能会有所帮助。
- 尽可能详细地描述您的环境:SilverStripe 版本、浏览器、PHP 版本、操作系统、安装的任何 SilverStripe 模块。
请直接向模块维护者报告安全问题。请不要在错误跟踪器中提交安全问题。
开发和贡献
如果您想为此模块做出贡献,请确保您发起一个拉取请求,并与模块维护者讨论。