[Routing] Fix "config-file-relative" annotation loader resources
This commit is contained in:
parent
4eaf1e5ce2
commit
5998e9d7b5
@ -34,7 +34,9 @@ class AnnotationDirectoryLoader extends AnnotationFileLoader
|
|||||||
*/
|
*/
|
||||||
public function load($path, $type = null)
|
public function load($path, $type = null)
|
||||||
{
|
{
|
||||||
$dir = $this->locator->locate($path);
|
if (!is_dir($dir = $this->locator->locate($path))) {
|
||||||
|
return parent::supports($path, $type) ? parent::load($path, $type) : new RouteCollection();
|
||||||
|
}
|
||||||
|
|
||||||
$collection = new RouteCollection();
|
$collection = new RouteCollection();
|
||||||
$collection->addResource(new DirectoryResource($dir, '/\.php$/'));
|
$collection->addResource(new DirectoryResource($dir, '/\.php$/'));
|
||||||
@ -74,16 +76,18 @@ class AnnotationDirectoryLoader extends AnnotationFileLoader
|
|||||||
*/
|
*/
|
||||||
public function supports($resource, $type = null)
|
public function supports($resource, $type = null)
|
||||||
{
|
{
|
||||||
if (!is_string($resource)) {
|
if ('annotation' === $type) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($type || !is_string($resource)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$path = $this->locator->locate($resource);
|
return is_dir($this->locator->locate($resource));
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return is_dir($path) && (!$type || 'annotation' === $type);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user