Today I Learned - Rocky Kev

TIL output buffering in PHP

POSTED ON:

TAGS:

If you are outputting a lot of content, then you should use:

add_shortcode('my-shortcode', 'shortcode_function');

function shortcode_function( $args ) {
ob_start();
?>
<!-- your contents/html/(maybe in separate file to include) code etc -->
<?php

return ob_get_clean();
}

Without output buffering (the default), your HTML is sent to the browser in pieces as PHP processes through your script.
With output buffering, your HTML is stored in a variable and sent to the browser as one piece at the end of your script.

REFERENCE:
https://stackoverflow.com/a/2832179/4096078
https://stackoverflow.com/a/40500555/4096078


Related TILs

Tagged:

TIL how NGINX knows to look for index.html vs index.php

What happens when visitor hits /foo/bar URL?

TIL php-fpm

PHP runs as a separated service when using PHP-FPM. By using this PHP version as language interpreter, requests are processed through a TCP/IP socket; so that the Nginx web server only handles the HTTP requests and PHP-FPM interprets the PHP code. The fact of having two separate services is key for increasing efficiency.

TIL the difference between single-threaded & multi-threaded architecture

For web dev, we don't need it. We're not bottle-necked by the processing power. We're instead bottlenecked by the ability to read files/databases. We can simulate multi-threading (and improve our app's performance) using async/await.