area17 / phptorch
用于PHP文件的Torchlight助手
dev-main
2022-11-07 11:13 UTC
Requires
- php: ^8.0
- nikic/php-parser: ^4.15
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-07 15:33:21 UTC
README
PhpTorch是一个用于文档的包。它使用nikic/php-parser来解析PHP类,然后可以使用高亮操作来修改。
最终结果将以带有torchlight注解的代码形式打印出来。
示例
$highlighter = \A17\PhpTorch\Highlight::new('PageController.php') ->focusMethods('getForm') ->diffImports(\A17\Twill\Services\Forms\Fields\Medias::class) ->focusImports(\A17\Twill\Services\Forms\Fields\Medias::class) ->diffInMethod('getForm', 7, 9);
然后你可以将输出提供给torchlight,这将产生
可用方法
目前请检查高亮类公共方法或参考测试。
待办事项
- 添加对非类文件的支持。
示例
直接使用
$highlighter = \A17\PhpTorch\Highlight::new('PageController.php') ->focusMethods('getForm') ->diffImports(\A17\Twill\Services\Forms\Fields\Medias::class) ->focusImports(\A17\Twill\Services\Forms\Fields\Medias::class) ->diffInMethod('getForm', 7, 9);
Jigsaw / markdown
如果你想在Jigsaw中使用这个包,你应该在当前包之外还需要"torchlight/torchlight-jigsaw": "^0.3.4",
。
然后你可以这样以3个反引号开始一个代码片段,后面跟phptorch
\```phptorch
{ JSON }
##CODE##
<?php ...
\```
链接文件
{
"file": "../../examples/blog/app/Models/Blog.php",
"collapseAll": "",
"focusProperties": [
"slugAttributes"
]
}
内联代码
{
"collapseAll": "",
"focusProperties": [
"slugAttributes"
],
"diffMethods": [
{
"methods": "someMethod",
"addRemove": "remove"
}
],
"focusMethods": "someMethod"
}
##CODE##
<?php
class Example {
public bool $slugAttributes = false;
public function someMethod(): void {
}
}
class Foo {
}