booted event or service provider lifecycle for runtime analysis.Illuminate\Support\File or Illuminate\Filesystem for file traversal.routes/web.php) at runtime.assertDatabaseHas").token_get_all).php-parser/php-parser, nikic/PHP-Parser) with better support?php artisan dissect:analyze). Use Laravel’s Console component for CLI integration.Illuminate\Http\Middleware to hook into the pipeline.app('dissect')).booted or registered events to ensure Laravel’s core is fully loaded.require-dev goaop/dissect).app/Http/Controllers/HomeController.php).LaravelDissectAnalyzer) to handle Laravel conventions (e.g., route files, service container bindings).use GoAop\Dissect\Lexer;
use GoAop\Dissect\Parser;
class LaravelDissectAnalyzer {
public function analyzeRouteFile(string $filePath): array {
$lexer = new Lexer(file_get_contents($filePath));
$parser = new Parser($lexer->getTokens());
return $parser->parse();
}
}
Illuminate\Cache) for parsed results.process helper or spatie/async package.vendor/bin/dissect).php -v and laravel/framework constraints.eval, create_function). Document limitations.laravel/scout, spatie/laravel-permission) to avoid false positives.testing or debugbar for UI feedback.goaop/dissect for breaking changes (MIT license allows forks if needed).composer.json to avoid surprises.error_log('Dissect tokens: ' . print_r($lexer->getTokens(), true));
## Quick Start
```bash
composer require-dev goaop/dissect
php artisan dissect:scan app/Http/Controllers
app/).How can I help you explore Laravel packages today?