area17 / phptorch
Torchlight helpers for php files
Installs: 11 756
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 5
Forks: 0
Open Issues: 0
Requires
- php: ^8.0
- nikic/php-parser: ^4.15
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-12-07 16:14:41 UTC
README
PhpTorch is a package for documentation purposes. It uses nikic/php-parser to parse a php class, which can then be modified using highlighting actions.
The end result will be printed as code with torchlight annotations.
Example:
$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);
Then you can provide the output to torchlight which will result in:
Available methods
For now check the highlighter class public methods or consult the tests.
Todo
- Add support for non class files.
Examples
Direct usage
$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
If you want to use this in Jigsaw, you should require "torchlight/torchlight-jigsaw": "^0.3.4",
in addition to this
package.
Then you can start a code snippet with 3 backticks followed by phptorch like this:
\```phptorch
{ JSON }
##CODE##
<?php ...
\```
Linked file:
{
"file": "../../examples/blog/app/Models/Blog.php",
"collapseAll": "",
"focusProperties": [
"slugAttributes"
]
}
Inline code:
{
"collapseAll": "",
"focusProperties": [
"slugAttributes"
],
"diffMethods": [
{
"methods": "someMethod",
"addRemove": "remove"
}
],
"focusMethods": "someMethod"
}
##CODE##
<?php
class Example {
public bool $slugAttributes = false;
public function someMethod(): void {
}
}
class Foo {
}