1. Go to this page and download the library: Download poshtive/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/ */
poshtive / router example snippets
use Poshtive\Router\Attributes\Route;
class UserController {
public function index() {} // GET /user
#[Route(method: 'POST')]
public function store() {} // POST /user/store
#[Route(method: ['PUT', 'PATCH'])]
public function updateApp() {} // PUT & PATCH /user/update-app
}
class UserController {
public function getIndex() {} // GET /user
public function postStore() {} // POST /user/store
public function deleteDestroyApp() {} // DELETE /user/destroy-app
}
use Poshtive\Router\Attributes\DoNotDiscover;
#[DoNotDiscover]
abstract class BaseCrudController {
public function index() {}
}
class UserController extends BaseCrudController {
public function show() {}
}
use Poshtive\Router\Router;
Router::create()->discover(app_path('Http/Controllers'));
namespace App\Http\Controllers;
class IndexController {
public function index() {}
public function about() {}
}
namespace App\Http\Controllers;
class UserController {
public function index() {}
public function show() {}
}
namespace App\Http\Controllers\Admin;
class IndexController {
public function index() {}
public function dashboard() {}
}
use Poshtive\Router\Attributes\Route;
use App\Models\User;
class UserController {
public function show(int $id) {}
public function edit(User $user) {}
}
class UserController {
public function update(int $id, string $section) {}
}
use Poshtive\Router\Attributes\Route;
class UserController {
#[Route(keepOrder: true)]
public function update(int $id, string $section) {}
}
use Poshtive\Router\Attributes\Route;
#[Route(middleware: ['auth'])]
class UserController {
#[Route(uri: 'profile', method: 'GET')]
public function showProfile() {}
#[Route(method: ['POST', 'PUT'], middleware: ['log'])]
public function updateSection(int $id, string $section) {}
#[Route(keepOrder: true)]
public function customOrder(string $section, int $id) {}
}
use Poshtive\Router\Attributes\LocalOnly;
#[LocalOnly]
class UserController {
public function index() {}
}
use Poshtive\Router\Attributes\DoNotDiscover;
#[DoNotDiscover]
class UserController {
public function index() {}
}
use Poshtive\Router\Attributes\DoNotDiscover;
#[DoNotDiscover]
#[Route(middleware: ['auth'])]
class AuthenticatedConcerns extends Controller {
}
class UserController extends AuthenticatedConcerns {
public function index() {}
}
use Poshtive\Router\Attributes\Where;
class UserController {
#[Where('id', '\d+')]
public function show(int $id) {}
}
use Poshtive\Router\Attributes\Where;
class UserController {
#[Where('id', '\d+')]
#[Where('slug', '[a-z0-9-]+')]
public function show(int $id, string $slug) {}
}
use Poshtive\Router\Attributes\IgnoreParentMiddleware;
#[IgnoreParentMiddleware]
class UserController extends AuthenticatedConcerns {
public function index() {}
}
use Poshtive\Router\Attributes\IgnoreParentMiddleware;
use Poshtive\Router\Attributes\Route;
#[Route(middleware: ['auth'])]
class AuthenticatedConcerns extends Controller {}
class UserController extends AuthenticatedConcerns {
#[IgnoreParentMiddleware]
public function show() {}
public function app() {}
}