\Framework\CoreAttributeRouteLoader

AttributeRouteLoader

核心逻辑:

  1. 扫描控制器目录
  2. 解析 PHP Attributes (Route, GetMapping, Auth, Log...)
  3. 解析 DocBlock (@method, @middleware...)
  4. 提取实现了 MiddlewareProviderInterface 接口的中间件
  5. 合并所有数据生成 Symfony RouteCollection

Summary

Methods
Properties
Constants
__construct()
loadRoutes()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
collectAttributesAndMiddleware()
parseDocBlockAnnotations()
scanDirectory()
convertFileToClass()
$controllerDir
$controllerNamespace
N/A

Properties

$controllerDir

$controllerDir : string

Type

string

$controllerNamespace

$controllerNamespace : string

Type

string

Methods

__construct()

__construct(string  $controllerDir, string  $controllerNamespace) : mixed

Parameters

string $controllerDir
string $controllerNamespace

Returns

mixed —

loadRoutes()

loadRoutes() : \Symfony\Component\Routing\RouteCollection

加载所有路由

Returns

\Symfony\Component\Routing\RouteCollection —

collectAttributesAndMiddleware()

collectAttributesAndMiddleware(array  $attributes) : array

辅助方法:收集注解对象 & 从接口自动提取中间件

Parameters

array $attributes

Returns

array —

parseDocBlockAnnotations()

parseDocBlockAnnotations(?string  $docComment) : array

从 DocBlock 解析注解数据 (保持原有正则逻辑)

Parameters

?string $docComment

Returns

array —

scanDirectory()

scanDirectory(string  $dir) : array

Parameters

string $dir

Returns

array —

convertFileToClass()

convertFileToClass(string  $file) : string

Parameters

string $file

Returns

string —