Architecture
WBengine keeps the request path small and explicit. Application, Site, Section, and Box objects form the same tree used by the application code.
The object tree
- Application is the request root and owns shared services.
- Site represents the matched page and its metadata, access rules, and menu.
- Section is a named layout region such as
header,central, orapi. - Box is the PHP class and method selected by a
cms_boxesrow.
The layout renders section output. A box can render a template directly or load a model first. Keep new features in this tree and follow the existing App\Box\<Section> namespaces.
Request outline
public/index.php
Application::run()
match URL to Site
check access and page-cache eligibility
build active Sections
resolve configured Boxes
call Box method and render its template
render the site layout
Sites, sections, and boxes are configuration data. PHP classes define reusable behavior. This keeps simple page changes out of the router while leaving application logic explicit.