Render view through the controller using Slim Framework 3

Posted on

Question :

I’m trying to find a way to render the view using a controller in slim framework but for some reason I’m getting the error:

Message: Using $this when not in object context

The function is a public function and is inside a class normally and I’m following what it says in Documentation < a>

My route:

$app->get('/home', 'AppHttpControllerTeste::main');

The Base Controller:

class Controller
{
   protected $ci;

   public function __construct(ContainerInterface $ci)
   {
       $this->ci = $ci;
   }
}

The test class:

class Teste extends Controller
{
   public function index($request, $response)
   {
      return "Hello!"; // Funciona
   }

   public function main($request, $response)
   {
       var_dump($this->ci); // Apresenta o erro
   }
}

    

Answer :

I’m trying to find a way to render the view using a controller in %code% but for some reason I’m getting the error:

$app->get('/home', 'AppHttpControllerTeste::main');

The function is a public function and is inside a class normally and I’m following what it says in Documentation < a>

My route:

$app->get('/home', 'AppHttpControllerTeste:main');

The Base Controller:

$app->get('/home', 'AppHttpControllerTeste::main');

The test class:

$app->get('/home', 'AppHttpControllerTeste:main');

    

Leave a Reply

Your email address will not be published. Required fields are marked *