ciarand/quick-n-dirty-php-router

Transitionary router to help the upgrade to modern standards

dev-master 2016-04-11 02:56 UTC

This package is not auto-updated.

Last update: 2024-11-05 08:45:55 UTC


README

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.