Commit d2a74750 authored by Taylor Otwell's avatar Taylor Otwell

added support for organizing routes in a routes directory.

parent 285cdcc8
...@@ -30,7 +30,41 @@ class Router { ...@@ -30,7 +30,41 @@ class Router {
// -------------------------------------------------------------- // --------------------------------------------------------------
$uri = ($uri != '/') ? '/'.$uri : $uri; $uri = ($uri != '/') ? '/'.$uri : $uri;
// --------------------------------------------------------------
// If a route directory is being used, load the route file
// corresponding to the first segment of the URI.
// --------------------------------------------------------------
if (is_dir(APP_PATH.'routes'))
{
if ($uri == '/')
{
if ( ! file_exists(APP_PATH.'routes/home'.EXT))
{
throw new \Exception("A [home] route file is required when using a route directory.");
}
static::$routes = require APP_PATH.'routes/home'.EXT;
}
else
{
$segments = explode('/', trim($uri, '/'));
if ( ! file_exists(APP_PATH.'routes/'.$segments[0].EXT))
{
throw new \Exception("No route file defined for routes beginning with [".$segments[0]."]");
}
static::$routes = require APP_PATH.'routes/'.$segments[0].EXT;
}
}
// --------------------------------------------------------------
// If no route directory is being used, we can simply load the
// routes file from the application directory.
// --------------------------------------------------------------
else
{
static::$routes = require APP_PATH.'routes'.EXT; static::$routes = require APP_PATH.'routes'.EXT;
}
// -------------------------------------------------------------- // --------------------------------------------------------------
// Is there an exact match for the request? // Is there an exact match for the request?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment