Aaah. Gotcha. Inline works exactly the same as an include, but can be used in places where the output, for example, is generated by a function instead of an independent file (if a function returns pure HTML and you need to output it somewhere specific in the ESI rendering round-trip).
The only example I've found is litespeedtech's own WordPress plugin. The only place they use the inline block is in the YITH WooCommerce wishlist 3rd party class support.
Here's a simple example that works (tested) on LSCache: https://github.com/davidwebca/lscache-esi-php-demo
You can see it in action here: https://esitest.davidweb.ca/test.php
The one thing I was struggling with by building this example was that the cache-control header needs to be declared exactly the same on the include, the inline block and the esi.php file headers.
The only example I've found is litespeedtech's own WordPress plugin. The only place they use the inline block is in the YITH WooCommerce wishlist 3rd party class support.
Here's a simple example that works (tested) on LSCache: https://github.com/davidwebca/lscache-esi-php-demo
You can see it in action here: https://esitest.davidweb.ca/test.php
The one thing I was struggling with by building this example was that the cache-control header needs to be declared exactly the same on the include, the inline block and the esi.php file headers.