PHP code example of kenjis / ci4-attribute-routes

1. Go to this page and download the library: Download kenjis/ci4-attribute-routes 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/ */

    

kenjis / ci4-attribute-routes example snippets


use Kenjis\CI4\AttributeRoutes\Route;

class SomeController extends BaseController
{
    #[Route('path', methods: ['get'])]
    public function index()
    {
        ...
    }
}

/*
 * Attribute Routes
 *
 * To update the route file, run the following command:
 * $ php spark route:update
 *
 * @see https://github.com/kenjis/ci4-attribute-routes
 */
if (file_exists(APPPATH . 'Config/RoutesFromAttribute.php')) {
    


namespace App\Controllers;

use Kenjis\CI4\AttributeRoutes\Route;

class News extends BaseController
{
    #[Route('news', methods: ['get'])]
    public function index()
    {
        ...
    }
}

#[Route('news', methods: ['get'])]

#[Route('news/create', methods: ['get', 'post'])]

#[Route('news/(:segment)', methods: ['get'], options: ['priority' => 1])]

use Kenjis\CI4\AttributeRoutes\RouteGroup;

#[RouteGroup('', options: ['filter' => 'auth'])]
class GroupController extends BaseController
{
    #[Route('group/a', methods: ['get'])]
    public function getA(): void
    {
        ...
    }
    ...
}

use Kenjis\CI4\AttributeRoutes\RouteResource;

#[RouteResource('photos', options: ['websafe' => 1])]
class ResourceController extends ResourceController
{
    ...
}

use Kenjis\CI4\AttributeRoutes\RoutePresenter;

#[RoutePresenter('presenter')]
class PresenterController extends ResourcePresenter
{
    ...
}

use Kenjis\CI4\AttributeRoutes\Route;
...
    #[Route('news', methods: ['get'])]
    public function index()

#[Route('news/(:segment)', methods: ['get'], options: ['priority' => 1])]
diff
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -22,7 +22,8 @@ $routes->setDefaultController('Home');
 $routes->setDefaultMethod('index');
 $routes->setTranslateURIDashes(false);
 $routes->set404Override();
-$routes->setAutoRoute(true);
+$routes->setAutoRoute(false);
+$routes->setPrioritize();