class

Analyzer::Php::Lumen

Inherits Analyzer::Php::PhpEngine < FileScanEngine < Analyzer < FileHelper < Reference < Object

Lumen is Laravel's micro-framework. Routes are registered against an injected $router (not the Laravel Route:: facade), and groups carry their prefix in an associative array — $router->group(['prefix' => 'x'], function () use ($router) { ... }). That's a distinct enough shape from Laravel's facade-style routing that it gets its own analyzer rather than extending Laravel.

Constants

HANDLER_PARAM_PATTERNS = [{/\$request\s*->\s*input\s*\(\s*['"]([^'"]+)['"]/, "form"}, {/\$request\s*->\s*post\s*\(\s*['"]([^'"]+)['"]/, "form"}, {/\$request\s*->\s*get\s*\(\s*['"]([^'"]+)['"]/, "query"}, {/\$request\s*->\s*query\s*\(\s*['"]([^'"]+)['"]/, "query"}, {/\$request\s*->\s*header\s*\(\s*['"]([^'"]+)['"]/, "header"}, {/\$request\s*->\s*cookie\s*\(\s*['"]([^'"]+)['"]/, "cookie"}, {/\$request\s*->\s*file\s*\(\s*['"]([^'"]+)['"]/, "form"}]

Class methods

tech_name
Source

Instance methods

analyze_file(path : String) : Array(Endpoint)
Source
tech

Instance-side view of the same declaration. The per-file rescues live on this base class, which has no way to name the analyzer that is running inside them, so a skipped file could not be attributed to a tech. Deriving it from analyzer_for keeps the name written exactly once.

Source