public function getSlimInstance() { $app = new \Slim\Slim(array('version' => '0.0.0', 'debug' => false, 'mode' => 'testing', 'view' => new \Slim\Views\Twig(), 'templates.path' => ROOT_PATH . '/resources/views')); // Set options $view = $app->view(); $view->parserOptions = array('debug' => false, 'cache' => ROOT_PATH . '/storage/views'); // force to overwrite the App singleton, so that \Slim\Slim::getInstance() // returns the correct instance. $app->setName('default'); return $app; }
<?php require_once dirname(dirname(__FILE__)) . '/vendor/autoload.php'; use Slim\Slim; use Slim\LogWriter; use Config\Database\DbHandler; use Config\SecureSessionHandler; \Slim\Slim::registerAutoloader(); $_ENV['SLIM_MODE'] = APP_ENV; $app = new \Slim\Slim(); $app->setName('BBC_API'); // Only invoked if mode is "production" $app->configureMode('production', function () use($app) { $app->config(array('log.enable' => true, 'debug' => false)); $handle = fopen('debug.log', 'w'); $app->log->setWriter(new \Slim\LogWriter($handle)); }); // Only invoked if mode is "development" $app->configureMode('development', function () use($app) { $app->config(array('log.enable' => false, 'debug' => true)); }); /** * Perform an API get status * This is not much than a ping on the API server */ $app->get('/status', function () { $response['status'] = 'ok'; echoRespnse(200, $response); exit; }); /**
<?php require_once dirname(__FILE__) . '/vendor/autoload.php'; use Slim\Slim; use Slim\LogWriter; use Config\Database\DbHandler; use Config\SecureSessionHandler; \Slim\Slim::registerAutoloader(); $_ENV['SLIM_MODE'] = APP_ENV; $app = new \Slim\Slim(); $app->setName('LQ_API'); // Only invoked if mode is "production" $app->configureMode('production', function () use($app) { $app->config(array('log.enable' => true, 'debug' => false)); $handle = fopen('debug.log', 'w'); $app->log->setWriter(new \Slim\LogWriter($handle)); }); // Only invoked if mode is "development" $app->configureMode('development', function () use($app) { $app->config(array('log.enable' => false, 'debug' => true)); }); /** * Perform an API get status * This is not much than a ping on the API server */ $app->get('/status', function () { $response['status'] = 'ok'; echoRespnse(200, $response); exit; }); /**
<?php require 'vendor/autoload.php'; use Slim\Slim; /** * Setup the timezone */ ini_set('date.timezone', 'America/Edmonton'); $logWriter = new \Flynsarmy\SlimMonolog\Log\MonologWriter(array('handlers' => array(new \Monolog\Handler\StreamHandler('src/log/' . date('Y-m-d') . '.log')))); //$logWriter = new \Slim\LogWriter(fopen('src/log/errors_slim.log', 'a')); //$logWriter = new \Slim\LogWriter(fopen('src/log/bullhorn.log', 'a')); $app = new \Slim\Slim(array('debug' => true, 'log.enabled' => true, 'log.level' => \Slim\Log::DEBUG, 'mode' => 'development', 'log.writer' => $logWriter, 'templates.path' => 'Stratum/templates')); $app->setName('stratum'); $log = $app->getLog(); $app->post('/endpoint/:id', function ($endpoint) use($log) { $entityBody = file_get_contents('php://input'); $log->debug($entityBody); $formController = new Stratum\Controller\FormController(); $log->debug("parsing input data"); $formResult = $formController->parse($entityBody); $formResult->setLogger($log); //form has updated mappings for each question $candidate = new Stratum\Model\Candidate(); $candidate->setLogger($log); $log->debug("parsed input data"); $candidateController = new Stratum\Controller\CandidateController(); $candidateController->setLogger($log); $candidate = $candidateController->populate($candidate, $formResult); $log->debug("Candidate submitted with name " . $candidate->getName()); $controller = new Stratum\Controller\BullhornController(); $controller->setLogger($log);