Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
freekmurze committed Jan 3, 2022
1 parent 82cc1e0 commit c92b723
Show file tree
Hide file tree
Showing 32 changed files with 489 additions and 279 deletions.
6 changes: 5 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,11 @@
"test-coverage": "vendor/bin/phpunit --coverage-html coverage"
},
"config": {
"sort-packages": true
"sort-packages": true,
"allow-plugins": {
"phpstan/extension-installer": true,
"pestphp/pest-plugin": true
}
},
"extra": {
"laravel": {
Expand Down
19 changes: 10 additions & 9 deletions config/route-discovery.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@
*
* In most cases, you shouldn't change these
*/
'node_tree_transformers' => [
Spatie\RouteDiscovery\NodeTransformers\AddControllerUriToActions::class,
Spatie\RouteDiscovery\NodeTransformers\HandleCustomRouteName::class,
Spatie\RouteDiscovery\NodeTransformers\HandleCustomMiddleware::class,
Spatie\RouteDiscovery\NodeTransformers\HandleCustomHttpMethods::class,
Spatie\RouteDiscovery\NodeTransformers\FixUrisOfNestedControllers::class,
Spatie\RouteDiscovery\NodeTransformers\HandleCustomUri::class,
Spatie\RouteDiscovery\NodeTransformers\HandleCustomFullUri::class,
]
'pending_route_transformers' => [
Spatie\RouteDiscovery\PendingRouteTransformers\AddControllerUriToActions::class,
Spatie\RouteDiscovery\PendingRouteTransformers\HandleDoNotDiscover::class,
Spatie\RouteDiscovery\PendingRouteTransformers\HandleCustomRouteName::class,
Spatie\RouteDiscovery\PendingRouteTransformers\HandleCustomMiddleware::class,
Spatie\RouteDiscovery\PendingRouteTransformers\HandleCustomHttpMethods::class,
Spatie\RouteDiscovery\PendingRouteTransformers\FixUrisOfNestedControllers::class,
Spatie\RouteDiscovery\PendingRouteTransformers\HandleCustomUri::class,
Spatie\RouteDiscovery\PendingRouteTransformers\HandleCustomFullUri::class,
],
];
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ class NewsController
}
```


Of course, multiple methods in a controller will result in multiple routes being registered.

For this controller, `/news/my-method` and `/news/my-other-method` routes will be registered.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

namespace Spatie\RouteDiscovery\Attributes;

interface RouteAttribute
interface DiscoveryAttribute
{
}
11 changes: 11 additions & 0 deletions src/Attributes/DoNotDiscover.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

namespace Spatie\RouteDiscovery\Attributes;

use Attribute;

#[Attribute(Attribute::TARGET_CLASS|Attribute::TARGET_METHOD)]
class DoNotDiscover implements DiscoveryAttribute
{

}
2 changes: 1 addition & 1 deletion src/Attributes/Prefix.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use Attribute;

#[Attribute(Attribute::TARGET_CLASS)]
class Prefix implements RouteAttribute
class Prefix implements DiscoveryAttribute
{
public function __construct(
public string $prefix
Expand Down
2 changes: 1 addition & 1 deletion src/Attributes/Route.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use Illuminate\Support\Arr;

#[Attribute(Attribute::TARGET_METHOD)]
class Route implements RouteAttribute
class Route implements DiscoveryAttribute
{
/** @var array<int, string> */
public array $methods;
Expand Down
26 changes: 0 additions & 26 deletions src/NodeTransformers/AddControllerUriToActions.php

This file was deleted.

48 changes: 0 additions & 48 deletions src/NodeTransformers/FixUrisOfNestedControllers.php

This file was deleted.

28 changes: 0 additions & 28 deletions src/NodeTransformers/HandleCustomFullUri.php

This file was deleted.

28 changes: 0 additions & 28 deletions src/NodeTransformers/HandleCustomHttpMethods.php

This file was deleted.

24 changes: 0 additions & 24 deletions src/NodeTransformers/HandleCustomMiddleware.php

This file was deleted.

28 changes: 0 additions & 28 deletions src/NodeTransformers/HandleCustomRouteName.php

This file was deleted.

31 changes: 0 additions & 31 deletions src/NodeTransformers/HandleCustomUri.php

This file was deleted.

12 changes: 0 additions & 12 deletions src/NodeTransformers/NodeTransformer.php

This file was deleted.

32 changes: 32 additions & 0 deletions src/PendingRouteTransformers/AddControllerUriToActions.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace Spatie\RouteDiscovery\PendingRouteTransformers;

use Illuminate\Support\Collection;
use Spatie\RouteDiscovery\PendingRoutes\PendingRouteAction;
use Spatie\RouteDiscovery\PendingRoutes\PendingRoute;

class AddControllerUriToActions implements PendingRouteTransformer
{
/**
* @param Collection<PendingRoute> $pendingRoutes
*
* @return Collection<PendingRoute>
*/
public function transform(Collection $pendingRoutes): Collection
{
$pendingRoutes->each(function (PendingRoute $pendingRoute) {
$pendingRoute->actions->each(function (PendingRouteAction $action) use ($pendingRoute) {
$originalActionUri = $action->uri;

$action->uri = $pendingRoute->uri;

if ($originalActionUri) {
$action->uri .= "/{$originalActionUri}";
}
});
});

return $pendingRoutes;
}
}
Loading

0 comments on commit c92b723

Please sign in to comment.