PHP code example of squidit / slim-attribute-router

1. Go to this page and download the library: Download squidit/slim-attribute-router library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

squidit / slim-attribute-router example snippets



use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;


class StatusCodeAction
{
    #[Route('/test1/http/{statusCode:[1-5]{1}\d{2}}',['GET', 'POST', 'PUT', 'DELETE'], 'test_http_statuscode')]
    public function __invoke(Request $request, Response $response, array $args): Response
    {
        // action/controller code
        return $response;
    }
}


use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;

class StatusCodeAction
{
    #[Route('/test2/http/{statusCode:[1-5]{1}\d{2}}',['POST'])]
    public function testMethod2(Request $request, Response $response, array $args): Response
    {
        // action/controller code
        return $response;
    }
	
    #[Route('/test3/http/{statusCode:[1-5]{1}\d{2}}',['DELETE'])]
    public function testMethod3(Request $request, Response $response, array $args): Response
    {
        // action/controller code
        return $response;
    }
}


use SquidIT\Slim\Routing\AttributeRouteCollector;
use Slim\Factory\AppFactory;

// create AttributeRouteCollector
$attributeRouteCollector = new AttributeRouteCollector([
    'path' => [
        '/path/to/ActionControllers',
        '/different/path/to/ActionControllers/if/needed',
    ]],
	AppFactory::determineResponseFactory(),
	new CallableResolver($container) // pass in your DI container if you are using a container
);

// Instantiate the app
AppFactory::setRouteCollector($attributeRouteCollector);
$app = AppFactory::create();
$app->run();