Neuron-PHP

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
throws
ReflectionException
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
throws
ReflectionException
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
throws
ReflectionException
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


        
On this page

Search results