Commit e40faa19 authored by Taylor Otwell's avatar Taylor Otwell

changed application file structure and routing definitions.

parent 32f38320
...@@ -158,7 +158,7 @@ require SYS_PATH.'routing/filter'.EXT; ...@@ -158,7 +158,7 @@ require SYS_PATH.'routing/filter'.EXT;
// -------------------------------------------------------------- // --------------------------------------------------------------
// Register the route filters. // Register the route filters.
// -------------------------------------------------------------- // --------------------------------------------------------------
System\Routing\Filter::register(require APP_PATH.'filters'.EXT); System\Routing\Filter::register(require ROUTE_PATH.'filters'.EXT);
// -------------------------------------------------------------- // --------------------------------------------------------------
// Execute the global "before" filter. // Execute the global "before" filter.
...@@ -170,7 +170,7 @@ $response = System\Routing\Filter::call('before', array(), true); ...@@ -170,7 +170,7 @@ $response = System\Routing\Filter::call('before', array(), true);
// ---------------------------------------------------------- // ----------------------------------------------------------
if (is_null($response)) if (is_null($response))
{ {
$route = System\Routing\Router::make(System\Request::method(), System\Request::uri(), new System\Routing\Loader(APP_PATH))->route(); $route = System\Routing\Router::make(System\Request::method(), System\Request::uri(), new System\Routing\Loader(ROUTE_PATH))->route();
$response = (is_null($route)) ? System\Response::error('404') : $route->call(); $response = (is_null($route)) ? System\Response::error('404') : $route->call();
} }
......
...@@ -35,14 +35,7 @@ class Loader { ...@@ -35,14 +35,7 @@ class Loader {
*/ */
public function load($uri) public function load($uri)
{ {
$base = require $this->path.'routes'.EXT; return array_merge($this->load_nested_routes($uri), require $this->path.'routes'.EXT);
if ( ! is_dir($this->path.'routes') or $uri == '')
{
return $base;
}
return array_merge($this->load_nested_routes($uri), $base);
} }
/** /**
...@@ -56,12 +49,12 @@ class Loader { ...@@ -56,12 +49,12 @@ class Loader {
$segments = explode('/', $uri); $segments = explode('/', $uri);
// Work backwards through the URI segments until we find the deepest possible // Work backwards through the URI segments until we find the deepest possible
// matching route file in the routes directory. // matching route directory. Once we find it, we will return those routes.
foreach (array_reverse($segments, true) as $key => $value) foreach (array_reverse($segments, true) as $key => $value)
{ {
if (file_exists($path = $this->path.'routes/'.implode('/', array_slice($segments, 0, $key + 1)).EXT)) if (is_dir($path = $this->path.implode('/', array_slice($segments, 0, $key + 1))))
{ {
return require $path; return require $path.'/routes'.EXT;
} }
} }
...@@ -78,30 +71,25 @@ class Loader { ...@@ -78,30 +71,25 @@ class Loader {
* @param string $path * @param string $path
* @return array * @return array
*/ */
public static function all($reload = false, $path = null) public static function all($reload = false, $path = ROUTE_PATH)
{ {
if ( ! is_null(static::$routes) and ! $reload) return static::$routes; if ( ! is_null(static::$routes) and ! $reload) return static::$routes;
if (is_null($path)) $path = APP_PATH;
$routes = require $path.'routes'.EXT; $routes = require $path.'routes'.EXT;
if (is_dir($path.'routes'))
{
// Since route files can be nested deep within the route directory, we need to // Since route files can be nested deep within the route directory, we need to
// recursively spin through the directory to find every file. // recursively spin through the directory to find every file.
$directoryIterator = new \RecursiveDirectoryIterator($path.'routes'); $directoryIterator = new \RecursiveDirectoryIterator($path);
$recursiveIterator = new \RecursiveIteratorIterator($directoryIterator, \RecursiveIteratorIterator::SELF_FIRST); $recursiveIterator = new \RecursiveIteratorIterator($directoryIterator, \RecursiveIteratorIterator::SELF_FIRST);
foreach ($recursiveIterator as $file) foreach ($recursiveIterator as $file)
{ {
if (filetype($file) === 'file' and strpos($file, EXT) !== false) if (filetype($file) === 'file' and strpos($file, EXT) !== false and strpos($file, 'filters'.EXT) === false)
{ {
$routes = array_merge(require $file, $routes); $routes = array_merge(require $file, $routes);
} }
} }
}
return static::$routes = $routes; return static::$routes = $routes;
} }
......
...@@ -61,7 +61,7 @@ class View { ...@@ -61,7 +61,7 @@ class View {
{ {
if (is_null(static::$composers)) if (is_null(static::$composers))
{ {
static::$composers = require APP_PATH.'composers'.EXT; static::$composers = require VIEW_PATH.'composers'.EXT;
} }
$instance = new static($view, $data); $instance = new static($view, $data);
......
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