Pass referência a $ this no construtor PHP
Eu tenho uma classe chamadaRequest
. Em algum momento dessa classe, crio um novo controlador usando o código a seguir, passando$this
no construtor:
$controller = new $this->_controllerName($this);
Meu construtor de controlador é o seguinte:
public function __construct(Request $request) {
parent::__construct($request);
// More stuff
}
Se eu modificar$request
nesse objeto ou em seu objeto pai, os valores não mudam no objeto que o chamou originalmente. Também tentei alterar a definição do construtor parapublic function __construct(Request &$request) {
(como dito em php.net), mas isso também não funciona. Como posso consertar isso
Desde já, obrigado
Edit 1: Como perguntado algum código que mostra o que faço com$request
. A classe tem uma propriedade pública chamada_response
que possui uma propriedade pública chamada_body
. Em um dos meus métodos, faço o seguinte:
$this->_request->_response->_body = $this->_template->_render();
gora, eu preciso da solicitação da qual chamei o método para ter o mesmo_request
propriedade, para que eu possa obter o corp
Esqueci de mencionar que desarmei o objeto logo após chamar o método, isso é um problem
Edit 2: Como indicado abaixo, ele realmente funciona, mas de alguma forma não funciona mais quando eu o chamo de__destruct()
função. Por que é esse o caso?