App-in-Klasse in einem Schlanken Framework 3

Ich habe Schwierigkeiten zu verstehen, wie Zugriff auf die Instanz von Slim, wenn Sie eine route in einer anderen Klasse, als index.php

Wenn mit Slim-Rahmen 2 früher habe ich immer nur die folgende, aber seinen nicht das arbeiten in Slim 3:

$this->app = \Slim\Slim::getInstance();

Ich versuche, um Zugriff auf eine Datenbank-Verbindung habe ich das setup in den container, sondern von einer eigenen Klasse. Dies ist, was ich derzeit habe in meinem index.php zu initiieren, eine Schlanke app:

require_once("rdb/rdb.php");
$conn = r\connect('localhost');
$container = new \Slim\Container;
$container['rdb'] = function ($c){return $conn;}
$app = new \Slim\App($container);

Und hier ist meine route:

$app->get('/test','\mycontroller:test');

Und das ist, was ich bekam in meiner mycontroller.php Klasse, die meine route Punkte zu, die offensichtlich nicht so funktioniert, wie $this->app existiert nicht:

class mycontroller{
public function test($request,$response){
$this->app->getContainer()->get('rdb');
}

Die Fehlermeldung ist folgende, aufgrund getinstance nicht als Teil des Slim 3 im Vergleich zu Slim 2:

Call to undefined method Slim\App::getInstance() 

Dankbar für jede Hilfe,

Grüße
Dan

InformationsquelleAutor user3507740 | 2015-09-03
Schreibe einen Kommentar