The basic unit of reusable look and feel, a layout consists of a main template and a layout class.
layout class
A class registered with a layout that can be used as a place to consolidate API that is common to all or many templates across a project.
layout instance
An instance of a layout class. For each view, a layout is selected and that layout’s layout class is instantiated for the current request and context and made available to templates as the renderer global, layout.
main template
Also known as the o-wrap or outer wrapper, this is a template which contains HTML that is common to all views that share a particular layout. View templates are derived from the main template and inject their own HTML into the HTML defined by the main template.
A panel is a reusable component that defines the HTML for small piece of an entire page. Panels are callables, like views, and may either return an HTML string or use a renderer for generating HTML to embed in the page.