1. Go to this page and download the library: Download joydeep-bhowmik/quire 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/ */
// pages/users/[id].php
use function Quire\{name, middleware, abort, e};
name('users.show');
middleware(['auth']);
$user = find_user($id) ?? abort(404);
use function Quire\{name, middleware, methods};
name('users.edit'); // name the route for route()
middleware('auth', 'role:admin'); // page middleware
methods('GET', 'POST'); // default is GET only (HEAD is automatic)
use Quire\Blade\BladeRenderer;
$blade = new BladeRenderer(
viewPaths: __DIR__ . '/pages', // where @extends / @/ <x-card> → pages/_components/card.blade.php
$quire->extension('.blade.php', $blade);
use function Quire\{name, respond, redirect, route, abort};
name('team.show');
if ($member === 'old-name') {
respond(redirect(route('team.show', ['member' => 'new-name']), 301));
}
$person = find($member) ?? abort(404);
use Quire\{Request, Response};
$quire->alias('auth', function (Request $request, Closure $next) {
if (!$request->cookie('user')) {
return Quire\redirect(Quire\url('/login')); // stop here
}
$request->attributes['user'] = $request->cookie('user'); // pass data to the page
return $next($request);
});
$quire->alias('role', function (Request $request, Closure $next, string ...$roles) {
in_array($request->attributes['user'], $roles, true) || Quire\abort(403);
return $next($request);
});
$quire->alias('timing', function (Request $request, Closure $next): Response {
$response = $next($request); // run the page first...
return $response->header('X-Powered-By', 'Quire'); // ...then change the response
});
$quire->alias('csrf', App\Middleware\VerifyCsrf::class); // class with handle()
use function Quire\{route, url};
route('users.show', ['id' => 5]); // /users/5
route('users.show', ['id' => 5, 'tab' => 'x']); // /users/5?tab=x (extra params → query string)
route('blog', ['slug' => ['2026', 'hello']]); // /blog/2026/hello
route('blog'); // /blog (optional catch-all can be left out)
url('/login'); // /login, with the base path added
$quire->path(__DIR__ . '/pages'); // served at /
$quire->path(__DIR__ . '/admin-pages')->uri('/admin')->middleware(['auth']); // served at /admin/...
$quire->base('/my-app'); // app lives at example.com/my-app/