A transitionary router to help upgrading an old PHP codebase to a more modern set of standards
PHP Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
test
.drone.yml
.gitignore
.travis.yml
LICENSE
Makefile
README.adoc
composer.json
composer.lock
phpunit.xml

README.adoc

This project is deprecated and unmaintained. Proceed with caution!

Quick-n-dirty PHP router

A transitionary router to help upgrading an old PHP codebase to a more modern set of standards.

Build Status

More information is available on my blog.

Usage

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;

Tests

vendor/bin/phpunit

License

MIT, full text is in the LICENSE file.