1. Go to this page and download the library: Download anax/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/ */
anax / router example snippets
use Anax\Route\Router;
$router = new Router();
$router->add("", function () {
echo "home ";
});
$router->add("about", function () {
echo "about ";
});
$router->add("about/me", function () {
echo "about/me ";
});
// try it out
$router->handle("");
$router->handle("about");
$router->handle("about/me");
// home about about/me
$router = new Router();
$router->add(["info", "about"], function () {
echo "info or about - ";
});
// try it out
$router->handle("info");
$router->handle("about");
// info or about - info or about -
$router = new Router();
$router->always(function () {
echo "always ";
});
// try it out using some paths
$router->handle("info");
$router->handle("about");
// always always
$router = new Router();
$router->addInternal("404", function () {
echo "404 ";
});
$router->add("about", function () {
echo "about ";
});
// try it out using some paths
$router->handle("whatever");
// 404
$router->addInternal("403", function () {
echo "403 ";
});
$router->add("login", function () {
throw new ForbiddenException();
});
// try it out using some paths
$router->handle("login");
// 403
$router->addInternal("500", function () {
echo "500 ";
});
$router->add("calculate", function () {
throw new InternalErrorException();
});
// try it out using some paths
$router->handle("calculate");
// 500
$router = new Router();
$router->addInternal("404", function () {
echo "404 ";
});
$router->add("about/*", function () {
echo "about ";
});
// try it out using some paths
$router->handle("about");
$router->handle("about/me");
$router->handle("about/you");
$router->handle("about/some/other"); // no match
// about about about 404
$router = new Router();
$router->add("about/**", function () {
echo "about ";
});
// try it out using some paths
$router->handle("about");
$router->handle("about/me");
$router->handle("about/you");
$router->handle("about/some/other");
// about about about about
$router = new Router();
$router->addInternal("404", function () {
echo "404 ";
});
$router->add("about/{arg}", function ($arg) {
echo "$arg ";
});
ob_start();
// try it out using some paths
$router->handle("about"); // not matched
$router->handle("about/me");
$router->handle("about/you");
$router->handle("about/some/other"); // not matched
// 404 me you 404
$router = new Router();
$router->add(
"post/{year}/{month}/{day}",
function ($year, $month, $day) {
echo "$year-$month-$day, ";
}
);
// try it out using some paths
$router->handle("post/2017/03/07");
$router->handle("post/1990/06/20");
// 2017-03-07, 1990-06-20,
$router = new Router();
$router->addInternal("404", function () {
echo "404, ";
});
$router->add(
"post/{year:digit}/{month:digit}/{day:digit}",
function ($year, $month, $day) {
echo "$year-$month-$day, ";
}
);
$router->add(
"post/{year:digit}/{month:alpha}/{day:digit}",
function ($year, $month, $day) {
echo "$day $month $year, ";
}
);
// try it out using some paths
$router->handle("post/2017/03/seven");
$router->handle("post/2017/03/07");
$router->handle("post/1990/06/20");
$router->handle("post/1990/june/20");
// 404, 2017-03-07, 1990-06-20, 20 june 1990,
$router = new Router();
$router->any(["GET"], "about", function () {
echo "GET ";
});
$router->any(["POST"], "about", function () {
echo "POST ";
});
$router->any(["PUT"], "about", function () {
echo "PUT ";
});
$router->any(["DELETE"], "about", function () {
echo "DELETE ";
});
// try it out using some paths
$router->handle("about", "GET");
$router->handle("about", "POST");
$router->handle("about", "PUT");
$router->handle("about", "DELETE");
// GET POST PUT DELETE
$router = new Router();
$router->any(["GET", "POST"], "about", function () {
echo "GET+POST ";
});
$router->any("PUT | DELETE", "about", function () {
echo "PUT+DELETE ";
});
// try it out using some paths
$router->handle("about", "GET");
$router->handle("about", "POST");
$router->handle("about", "PUT");
$router->handle("about", "DELETE");
// GET+POST GET+POST PUT+DELETE PUT+DELETE
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.