<?php /** * MVC-Simple simple application PHP * * @package mvc-simple * @author Wellington dos Santos <*****@*****.**> * @license http://opensource.org/licenses/MIT MIT License */ define('ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR); define('APP', ROOT . 'core' . DIRECTORY_SEPARATOR); if (file_exists(ROOT . 'vendor/autoload.php')) { require ROOT . 'vendor/autoload.php'; } if (file_exists(APP . 'config/config.php')) { require APP . 'config/config.php'; } use App\Router\Router; if (array_key_exists('url', $_GET)) { $route = new Router($_GET['url']); } else { $route = new Router(URL_DEFAULT); } $route->get('/', "Posts.home"); $route->get('/username/:name', function ($name) { echo "Hello " . $name; })->with('name', '[a-z]+'); $route->post('/user', "Posts.setName"); $route->run();
use App\Router\Router; ini_set('display_errors', 1); error_reporting(E_ALL); date_default_timezone_set('America/Sao_Paulo'); session_start(); /** * ----------------------------------------------------------------------------- * CONSTANTES DA APLICAÇÃO */ define('VIEWS_PATH', __DIR__ . '/Views/'); define('BASE_PATH', dirname(dirname(__FILE__))); define('APP_CONTROLLERS_NAMESPACE', "\\App\\Controller\\"); //autoload com namespaces spl_autoload_register(function ($class) { $class = str_replace('\\', '/', $class); $fileName = BASE_PATH . '/' . $class . '.php'; if (file_exists($fileName)) { require_once $fileName; } }); //pega a rota da url $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); //$uri = ltrim( $rota['path'], '/'); $router = new \App\Router\Router(); try { $router->dispatch($uri); } catch (\Exception $exc) { echo "<div>"; echo $exc->getMessage(); echo "</div>"; }
<?php namespace App; use App\Router\Engine as RouterEngine; use App\Router\Router; use App\Router\Route; Router::setEngine(new RouterEngine()); Router::post("/hello/:name/attitude/:att", function ($name, $attitude) { echo "Hello " . $name . ". Your attitude is " . $attitude; }); Router::static("/pic", "/home/marcel/Bilder/Marcel_Mundl.JPG", "image/jpeg", false); Router::all("/test", "App\\Test::testPage"); Router::get("/hello/:greeter/aaa/:bbb", function ($a, $b) { echo "hello " . $a . " " . $b; }); Router::all("/.*", function () { header("HTTP/1.1 403 FORBIDDEN"); });
<?php use App\Router\Middleware\HTTPPathParser; use App\Router\Router; use App\Router\Engine; use App\Router\Injector\Injector; use App\Router\Injector\Server; Router::setEngine(new Engine()); Router::registerMiddleware("HTTPPathParser", new HTTPPathParser(), array("Server")); Injector::registerInjectable("Server", new Server());
<?php require 'vendor/autoload.php'; use ORM\Entity\Manager; use Config\ORM; use App\Router\Router; $ORM = new ORM(); try { $router = new Router($_GET['url']); $router->get('/', function () { echo "Homepage"; }); $router->get('/posts', function () { echo 'Tous les articles'; }); $router->get('/article/:slug-:id/:page', "Posts#show")->with('id', '[0-9]+')->with('page', '[0-9]+')->with('slug', '([a-z\\-0-9]+)'); $router->get('/article/:slug-:id', "Posts#show")->with('id', '[0-9]+')->with('slug', '([a-z\\-0-9]+)'); $router->post('/posts/:id', function ($id) { echo 'Poster pour l\'article ' . $id . '<pre>' . print_r($_POST, true) . '</pre>'; }); $router->get('/home', "Home#"); $router->get('/base', "Base#"); // $Post = new Post\Post(); //New post // $Post->setTitle('My post title'); //Insert title // $Post->setContent('My post content'); //Insert content // $ORM->EM->persist($Post); //Insert post in database $router->run(); } catch (Exception $e) { $a = new \Config\ErrorLog(); $a->errorLog($e->getMessage()); echo 'Exception reçue : ', $e->getMessage(), "\n";
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); //require "../vendor/autoloader.php"; //use Slim\Slim; //$app = new Slim(); //require "../app/routes.php"; //$app->run(); require_once "../app/jTraceEx.php"; require_once "../app/loader.php"; use App\Router\Router; try { require_once "../app/config.php"; require_once "../app/routes.php"; Router::serve(); } catch (\Exception $e) { echo "<pre>" . jTraceEx($e) . "</pre>"; }