/** * This function is used in glue.php to load routes */ function glue_load_routes() { //routes consist of Route/routes with Route/system appended $routes = Conf::get('Route/routes'); $sysroutes = array_reverse(Conf::get('Route/system')); foreach ($sysroutes as $route) { $routes[] = $route; } //Site routes can override system routes foreach ($routes as $value) { $paths = array(SITE_PATH . '/routes/' . $value . '.php', GLUE_PATH . '/routes/' . $value . '.php'); foreach ($paths as $file) { if (file_exists($file)) { Route::loadfile($file); break; } } } }
<?php /** * Glue Framework * Copyright (C) 2015 Joby Elliott * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ namespace glue\routes\glue_404; use glue\Route; use glue\Template; //404 page, nothing was routed if (!Route::processed()) { header("HTTP/1.0 404 Not Found"); Template::set('pageTitle', '404 Not Found'); echo "<p>File not found</p>"; }
public static function routeAutoRoute() { $class = explode('/', Route::requestUri()); $class = strtolower($class[1]); $class = preg_replace('/[^a-z0-9_\\-]/i', '', $class); $class = preg_replace('/\\-+/', ' ', $class); $class = ucwords($class); $class = preg_replace('/ +/', '', $class); $class = '\\AutoRoute\\' . $class; if (class_exists($class, true)) { if (method_exists($class, 'main')) { Route::any(Route::requestUri() . '(/.*)?', $class . '::main'); } } }
<?php /** * Glue Framework * Copyright (C) 2015 Joby Elliott * * This file is not licensed along with the rest of the Glue Framework. It is * released into the public domain, and you are free to modify or re-use it * in any way. */ namespace glue\routes\glue_site; use glue\Route; use glue\Template; Route::get('/example-route', function () { Template::set('pageTitle', 'Site page'); echo "<div>glue site-specific routed page</div>"; });