async-page-builder-demo icon indicating copy to clipboard operation
async-page-builder-demo copied to clipboard

Symfony Live Paris 2022

Build Symfony pages, with async blocks

A media website is full of reusable components and building those components is challenging. With our designers we start by creating wireframes defining reusable components used by the backend developers.

Using async PHP, is a solution to organize PHP code by Component. Performances are optimized thanks to concurrent resolution of all components.

image

This demo app contains 2 pages:

  • The home with a list of last published articles.
  • The article page with a single article, a list of related articles and the same list of last published articles used in the home page.

We define a table to specify which blocks are used by each page.

Pages\Blocks LastArticles ArticleContent RelatedArticles
app_index X
app_article X X X

Technical stack

  • PHP 8.1+
  • Symfony 6
  • AMP v3+ (dev) with Fibers
  • Contents from HTTP API

Installation

Requires PHP 8.1 and Symfony CLI.

symfony composer install
symfony server:start -d

Credits

This demo have been created by Jérôme TAMARELLE.

It is inpired by how we build Prisma Media's websites.