RouteScanner
in package
Route scanner that discovers routes defined via PHP attributes.
This class scans controller classes for route attributes and converts them into RouteDefinition objects that can be registered with the Router.
Table of Contents
Properties
- $_scannedClasses : array<string|int, mixed>
Methods
- clearCache() : void
- Clear the scanned classes cache
- scanClass() : array<string|int, mixed>
- Scan a controller class for route attributes
- scanClasses() : array<string|int, mixed>
- Scan multiple controller classes
- scanDirectory() : array<string|int, mixed>
- Scan a directory for controller classes and extract routes
- findClassesInDirectory() : array<string|int, mixed>
- Find all PHP classes in a directory
- scanMethod() : array<string|int, mixed>
- Scan a method for route attributes
Properties
$_scannedClasses
private
array<string|int, mixed>
$_scannedClasses
= []
Methods
clearCache()
Clear the scanned classes cache
public
clearCache() : void
scanClass()
Scan a controller class for route attributes
public
scanClass(string $className) : array<string|int, mixed>
Parameters
- $className : string
-
Fully qualified class name
Tags
Return values
array<string|int, mixed> —Array of RouteDefinition objects
scanClasses()
Scan multiple controller classes
public
scanClasses(array<string|int, mixed> $classNames) : array<string|int, mixed>
Parameters
- $classNames : array<string|int, mixed>
-
Array of fully qualified class names
Tags
Return values
array<string|int, mixed> —Array of RouteDefinition objects
scanDirectory()
Scan a directory for controller classes and extract routes
public
scanDirectory(string $directory, string $namespace) : array<string|int, mixed>
Parameters
- $directory : string
-
Directory to scan
- $namespace : string
-
Base namespace for controllers
Tags
Return values
array<string|int, mixed> —Array of RouteDefinition objects
findClassesInDirectory()
Find all PHP classes in a directory
protected
findClassesInDirectory(string $directory, string $namespace) : array<string|int, mixed>
Parameters
- $directory : string
-
Directory to scan
- $namespace : string
-
Base namespace
Return values
array<string|int, mixed> —Array of fully qualified class names
scanMethod()
Scan a method for route attributes
protected
scanMethod(ReflectionMethod $method, string $className, RouteGroup|null $routeGroup) : array<string|int, mixed>
Parameters
- $method : ReflectionMethod
-
Method to scan
- $className : string
-
Controller class name
- $routeGroup : RouteGroup|null
-
Optional route group from class
Return values
array<string|int, mixed> —Array of RouteDefinition objects