I am trying to add slim flash message to be accessed with my controller using Slim framework 3 & Twig, But I get the following error :
Call to a member function addMessage() on null, Buzz\Controllers\MailController::$flash in C:\xampp\htdocs\myapp\app\Controllers\MailController.php on line 63
// bootfile.php
<?php
$container['MailController'] = function($container){ return new \Buzz\Controllers\MailController($container); };
$container['flash'] = function($container){ return new \Slim\Flash\Messages; };
$container['view'] = function($container){
$twig = new \Slim\Views\Twig(__DIR__ . '/../pages/views', [ 'cache' => false, ]);
$twig->addExtension(new \Slim\Views\TwigExtension( $container->router, $container->request->getUri()));
$view->getEnvironment()->addGlobal('flash', $container->flash);
return $twig;
};
// MailController.php
public function sendmail($request, $response){
$sent = mail->send();
if ($sent) {
$this->flash->addMessage('mailsuccess', 'Thank you for contacting');
}
}