app\RoutesLoader::bindRoutesToControllers PHP Method

bindRoutesToControllers() public method

    public function bindRoutesToControllers()
    {
        $api = $this->app["controllers_factory"];
        $api->get('/notes', "notes.controller:getAll");
        $api->get('/notes/{id}', "notes.controller:getOne");
        $api->post('/notes', "notes.controller:save");
        $api->put('/notes/{id}', "notes.controller:update");
        $api->delete('/notes/{id}', "notes.controller:delete");
        $this->app->mount($this->app["api.endpoint"] . '/' . $this->app["api.version"], $api);
    }

Usage Example

コード例 #1
0
ファイル: app.php プロジェクト: nanark/silex-simple-rest
        return $response->send();
    }
}, Application::EARLY_EVENT);
//handling CORS respons with right headers
$app->after(function (Request $request, Response $response) {
    $response->headers->set("Access-Control-Allow-Origin", "*");
    $response->headers->set("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
});
//accepting JSON
$app->before(function (Request $request) {
    if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
        $data = json_decode($request->getContent(), true);
        $request->request->replace(is_array($data) ? $data : array());
    }
});
$app->register(new ServiceControllerServiceProvider());
$app->register(new DoctrineServiceProvider(), array("db.options" => $app["db.options"]));
$app->register(new HttpCacheServiceProvider(), array("http_cache.cache_dir" => ROOT_PATH . "/storage/cache"));
$app->register(new MonologServiceProvider(), array("monolog.logfile" => ROOT_PATH . "/storage/logs/" . Carbon::now('Europe/London')->format("Y-m-d") . ".log", "monolog.level" => $app["log.level"], "monolog.name" => "application"));
//load services
$servicesLoader = new App\ServicesLoader($app);
$servicesLoader->bindServicesIntoContainer();
//load routes
$routesLoader = new App\RoutesLoader($app);
$routesLoader->bindRoutesToControllers();
$app->error(function (\Exception $e, $code) use($app) {
    $app['monolog']->addError($e->getMessage());
    $app['monolog']->addError($e->getTraceAsString());
    return new JsonResponse(array("statusCode" => $code, "message" => $e->getMessage(), "stacktrace" => $e->getTraceAsString()));
});
return $app;