Visualizar no MVC, o que é um layout e como criar um

Eu não entendo qual é o layout, na visão. Eu pedi umquestão anteriormente sobre o assunto de templates em PHP, mas eu ainda não entendi muito bem. Eu suponho que você crie um layout geral para o site e, em seguida, inclua cada visão específica dentro desse layout ... Eu gostaria de saber como fazer isso. Além disso, devem os templates ser feitos usando apenas html, porque eu também olhei para essas coisas chamadas helpers .... Eu estou apenas confuso na parte View do MVC, e nos templates atuais e como eles são feitos. Eu aprendo melhor com exemplos, se vocês tiverem algum.

Além disso, uma pergunta mais importante, digamos que eu tinha um formulário que um usuário só visse se ele estivesse logado, eu controlaria isso na exibição ou no controlador?

Então eu faria

in the controller

include 'header';
if(isset($_SESSION['userID'])){
    include 'form';
}
include 'footer';

ou

in the template

<html>
<?php if(isset($_SESSION['user_id'])): ?>
  <form>....</form>
<?php endif;?>
</html>

EDITAR

Então, há uma instrução include de dentro do layout para ver o modelo de visão específico? como assim?

questionAnswers(3)

yourAnswerToTheQuestion