PHP code example of florddev / laravel-auto-routing

1. Go to this page and download the library: Download florddev/laravel-auto-routing 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/ */

    

florddev / laravel-auto-routing example snippets


    'providers' => [
        // Other service providers...
        Florddev\LaravelAutoRouting\AutoRoutingServiceProvider::class,
    ],
    

Route::auto('/users', \App\Http\Controllers\UserController::class);

use Florddev\LaravelAutoRouting\Attributes\HttpGet;
use Florddev\LaravelAutoRouting\Attributes\HttpPost;
use Florddev\LaravelAutoRouting\Attributes\HttpPut;
use Florddev\LaravelAutoRouting\Attributes\HttpDelete;

class UserController extends Controller
{
    #[HttpGet]
    public function index() { /* ... */ }

    #[HttpGet]
    public function show(int $id) { /* ... */ }

    #[HttpPost]
    public function store() { /* ... */ }

    #[HttpPut]
    public function update(int $id) { /* ... */ }

    #[HttpDelete]
    public function destroy(int $id) { /* ... */ }
}

Route::auto('/admin/users', \App\Http\Controllers\Admin\UserController::class, [
    'middleware' => ['auth', 'admin'],
    'name' => 'admin.users.',
    'namespace' => 'Admin',
]);

use Florddev\LaravelAutoRouting\Attributes\HttpGet;

class ApiController extends Controller
{
    #[HttpGet]
    public function search(string $query, int $page = 1, string $sort = 'desc') { /* ... */ }
}

use Florddev\LaravelAutoRouting\Attributes\HttpGet;
use Florddev\LaravelAutoRouting\Attributes\HttpPost;

class BlogController extends Controller
{
    #[HttpGet(url: "articles", name: "list")]
    public function index() { /* ... */ }

    #[HttpGet(url: "article/{slug}", name: "view")]
    public function show(string $slug) { /* ... */ }

    #[HttpPost(url: "new-article", middleware: "auth")]
    public function create() { /* ... */ }
}

use Florddev\LaravelAutoRouting\Attributes\ControllerRoute;

#[ControllerRoute(prefix: 'admin', name: 'admin.', middleware: ['auth', 'admin'])]
class AdminController extends Controller
{
    // ... controller methods
}

Route::prefix('admin')->middleware('auth')->group(function () {
    Route::auto('/users', UserController::class);
    Route::auto('/products', ProductController::class, ['middleware' => 'admin']);
});

Route::auto('/', app_path('Http/Controllers'));

Route::auto('/', app_path('Http/Controllers'), [
    'except' => ['/Api', 'ProfileController']
]);

Route::auto('/users', \App\Http\Controllers\UserController::class);