KES777 / mojo

Mojolicious - Perl real-time web framework
http://mojolicio.us
Artistic License 2.0
0 stars 0 forks source link

after_render не имеет инфомрации о $c->stash->{ template } #51

Open KES777 opened 6 years ago

KES777 commented 6 years ago
ah, it do not see {template} because of: template => delete $stash->{template}, https://github.com/kraih/mojo/blob/master/lib/Mojolicious/Renderer.pm#L80 This is back to 2009 year: 9477763948 would it be better to do: delete local $stash->{template}? thus after_render can check was rendered *what was rendered the before_render fixes made a lot of sense, I'm not sure that we promise much in terms of state in the after_render stage I'm saying it isn't as clear to me that that is the proper behavior and when the choice isn't clear I think that defaulting to what has worked since 2009 is probably safest that change was made to prevent renderer from accessing to $c->stash->{template} doing delete local $c->stash->{ template } we keep current behavior, but allow after_render hook to access $c->stash->{ template } in same way as before_render allowed to unfortunately I have a lot to do at $work today, if you can convince someone else that that behavior is (a) proper and (b) won't break unexpected things then perhaps it can be considered 'delete' that was made just to force people to use new interface. Now days I think that 'delete' can be dropped. obviously something that relies on template being unset in after_render would break, but if that's proper then ok, I'm more concerned that there would be unexpected knock-on effects