This project is deprecated and unmaintained. Proceed with caution!
A transitionary router to help upgrading an old PHP codebase to a more modern set of standards.
More information is available on my blog.
Require it in your project:
composer require 'ciarand\quick-n-dirty-router' 'dev-master'
Move all your files into a handlers dir:
# assuming you're in the webroot
mkdir ../handlers/
find . -name '*.php' | while read file; do
mv "$file" "../handlers/$file";
done;
Put this in an index.php
file in your web root:
<?php // index.php
require "vendor/autoload.php";
use RestlessCo\Router;
// where you keep your scripts (outside of the public web dir)
$handler_dir = __DIR__ "/../handler";
// the script you'd like to handle 404s with
$missing_script = $handler_dir . "/404.php";
$requested_path = $handler_dir . "/" . Router::scriptForEnv($_SERVER);
return require (file_exists($requested_path))
? $requested_path
: $missing_script;
MIT, full text is in the LICENSE file.