/** * Auto load de classes * * @link https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md * @param string $className */ function __autoload($className) { if (substr($className, 0, 4) == 'Slim') { return \Slim\Slim::autoload($className); } $className = ltrim($className, '\\'); $fileName = ''; $namespace = ''; if ($lastNsPos = strrpos($className, '\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; } $fileName .= DIRETORIO_AUTOLOAD . '/' . str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; if (file_exists($fileName)) { require $fileName; } else { die("Arquivo {$fileName} nao encontrado"); } }
<?php require_once 'Slim/Slim/Slim.php'; spl_autoload_register(function ($className) { \Slim\Slim::autoload('Slim\\' . $className); }); // require_once 'Slim/Slim/Slim.php'; require_once '../Slim2CSRFProtection.php'; require_once '../Slim2CSRFProtectionNoSession.php'; $app = new \Slim\Slim(array('templates.path' => './')); session_start(); $failed = 0; $app->add(new Slim2CSRFProtection(function () use($app) { global $failed; $failed = 1; })); $app->map('/', function () use($app) { global $failed; if ($app->request()->isAjax()) { echo "{ \"failed\": \"{$failed}\" , \"msg\":\"{$_POST['data']}\"}"; } else { $app->render('demo.tpl', array('failed' => $failed)); } })->via('GET', 'POST'); $app->run();