Acesse o aplicativo em sala de aula no Slim Framework 3
Estou tendo problemas para entender como acessar a instância do Slim quando uma rota está em uma classe separada do index.php
Ao usar o Slim Framework 2, sempre usei o seguinte, mas não está funcionando no Slim 3:
$this->app = \Slim\Slim::getInstance();
Estou tentando acessar uma conexão com o banco de dados que eu configurei no contêiner, mas de uma classe separada. Isto é o que eu tenho atualmente no meu index.php para iniciar um aplicativo Slim:
require_once("rdb/rdb.php");
$conn = r\connect('localhost');
$container = new \Slim\Container;
$container['rdb'] = function ($c){return $conn;}
$app = new \Slim\App($container);
E aqui está a minha rota:
$app->get('/test','\mycontroller:test');
E é isso que recebi na minha classe mycontroller.php, para a qual minha rota aponta, que obviamente não está funcionando, pois o aplicativo $ this-> não existe:
class mycontroller{
public function test($request,$response){
$this->app->getContainer()->get('rdb');
}
A mensagem de erro é a seguinte, devido ao fato de a getinstance não fazer parte do Slim 3 em comparação com o Slim 2:
Call to undefined method Slim\App::getInstance()
Grato por qualquer ajuda,
Atenciosamente Dan