<?php
//базовый класс контроллера
class AppController{
protected $request ;
protected $response ;
protected $args ;
protected $container ;
public function __construct( $request , $response , $container , $args = null ) {
$this -> request = $request ;
$this -> response = $response ;
$this -> args = $args ;
$this -> container = $container ;
}
}
//класс контроллера
class TestController extends AppController {
public function __construct( $request , $response , $container , $args = null ) {
parent:: __construct( $request , $response , $container , $args ) ;
}
public function testRedirect( ) {
//проблема в том что у меня отлично работает к примеру
//все отрисовывается как нужно
$this -> container -> view -> render ( $this -> response , 'test.php' , $data ) ;
// но не работает редирект
$this -> response -> withRedirect ( '/' , 301 ) ;
// в классе TestController объект $response доступен как $this->response и он доступен,
// через var_dump печатается, но метод withRedirect не работает
}
}
$app -> get ( '/test' , function ( $request , $response ) {
//так я вызываю нужный контроллер и его метод
//this в данном контексте - это контейнер который опеределяется в самом $app - слим
( new Controllers\TestController( $request , $response , $this ) ) -> testRedirect ( ) ;
} ) ;
PD9waHAKCi8v0LHQsNC30L7QstGL0Lkg0LrQu9Cw0YHRgSDQutC+0L3RgtGA0L7Qu9C70LXRgNCwCmNsYXNzIEFwcENvbnRyb2xsZXJ7CgogIHByb3RlY3RlZCAkcmVxdWVzdCA7CiAgcHJvdGVjdGVkICRyZXNwb25zZTsKICBwcm90ZWN0ZWQgJGFyZ3M7CiAgcHJvdGVjdGVkICRjb250YWluZXI7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcmVxdWVzdCwgJHJlc3BvbnNlLCAkY29udGFpbmVyICwkYXJncyA9IG51bGwpewogICAgJHRoaXMtPnJlcXVlc3QgPSAkcmVxdWVzdDsKICAgICR0aGlzLT5yZXNwb25zZSA9ICRyZXNwb25zZTsKICAgICR0aGlzLT5hcmdzID0gJGFyZ3M7CiAgICAkdGhpcy0+Y29udGFpbmVyID0gJGNvbnRhaW5lcjsKCiB9Cgp9CgovL9C60LvQsNGB0YEg0LrQvtC90YLRgNC+0LvQu9C10YDQsApjbGFzcyBUZXN0Q29udHJvbGxlciBleHRlbmRzIEFwcENvbnRyb2xsZXIgewoKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRyZXF1ZXN0LCAkcmVzcG9uc2UsICRjb250YWluZXIgLCRhcmdzID0gbnVsbCl7CgogICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkcmVxdWVzdCwgJHJlc3BvbnNlLCAkY29udGFpbmVyICwkYXJncyk7CgogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRlc3RSZWRpcmVjdCgpewoJLy/Qv9GA0L7QsdC70LXQvNCwINCyINGC0L7QvCDRh9GC0L4g0YMg0LzQtdC90Y8g0L7RgtC70LjRh9C90L4g0YDQsNCx0L7RgtCw0LXRgiDQuiDQv9GA0LjQvNC10YDRgwoJLy/QstGB0LUg0L7RgtGA0LjRgdC+0LLRi9Cy0LDQtdGC0YHRjyDQutCw0Log0L3Rg9C20L3QvgoJJHRoaXMtPmNvbnRhaW5lci0+dmlldy0+cmVuZGVyKCAkdGhpcy0+cmVzcG9uc2UsICd0ZXN0LnBocCcsICRkYXRhICk7CiAgICAvLyDQvdC+INC90LUg0YDQsNCx0L7RgtCw0LXRgiDRgNC10LTQuNGA0LXQutGCCiAgICAkdGhpcy0+cmVzcG9uc2UtPndpdGhSZWRpcmVjdCgnLycsIDMwMSk7CgoJLy8g0LIg0LrQu9Cw0YHRgdC1IAlUZXN0Q29udHJvbGxlciDQvtCx0YrQtdC60YIgJHJlc3BvbnNlINC00L7RgdGC0YPQv9C10L0g0LrQsNC6ICR0aGlzLT5yZXNwb25zZSDQuCDQvtC9INC00L7RgdGC0YPQv9C10L0sCgkvLyDRh9C10YDQtdC3IHZhcl9kdW1wINC/0LXRh9Cw0YLQsNC10YLRgdGPLCDQvdC+INC80LXRgtC+0LQgd2l0aFJlZGlyZWN0INC90LUg0YDQsNCx0L7RgtCw0LXRggoKICB9Cgp9CgokYXBwLT5nZXQoJy90ZXN0JyxmdW5jdGlvbigkcmVxdWVzdCwgJHJlc3BvbnNlKXsKCQovL9GC0LDQuiDRjyDQstGL0LfRi9Cy0LDRjiDQvdGD0LbQvdGL0Lkg0LrQvtC90YLRgNC+0LvQu9C10YAg0Lgg0LXQs9C+INC80LXRgtC+0LQKLy90aGlzICDQsiDQtNCw0L3QvdC+0Lwg0LrQvtC90YLQtdC60YHRgtC1IC0g0Y3RgtC+INC60L7QvdGC0LXQudC90LXRgCDQutC+0YLQvtGA0YvQuSDQvtC/0LXRgNC10LTQtdC70Y/QtdGC0YHRjyDQsiDRgdCw0LzQvtC8ICRhcHAgLSDRgdC70LjQvAoKKG5ldyBDb250cm9sbGVyc1xUZXN0Q29udHJvbGxlcigkcmVxdWVzdCwgJHJlc3BvbnNlLCAkdGhpcykpLT50ZXN0UmVkaXJlY3QoKTsKCn0pOwoKCg==