I sometimes get messed up by the three rendering methods:
Controller::render()Controller::renderPartial()Controller::renderFile()
Please could you explain. Thank you!
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
render()is commonly used to render a view that corresponds to what a user sees as a “page” in your application. It first renders the view you have specified and then renders the layout for the current controller action (if applicable), placing the result of the first render into the layout. It then performs output processing (which at this time means automatically inserting any necessary<script>tags and updating dynamic content) and finally outputs the result.renderPartial()is commonly used to render a “piece” of a page. The main difference fromrender()is that this method does not place the results of the render in a layout. By default it also does not perform output processing, but you can override this behavior using the$processOutputparameter.renderFile()is a low-level method that does the grunt work of rendering: it extracts the data variables in the current scope and then runs the view code. The other two methods internally call this one, but you should practically never need to call it yourself. If you do, keep in mind that you need to pass in a file path (not a view path).