Are there any best practices or alternative approaches to achieve real-time content updates in PHP without relying heavily on JavaScript?

One approach to achieve real-time content updates in PHP without relying heavily on JavaScript is to use server-sent events (SSE). SSE allows the server to push updates to the client over a single, long-lived connection. This can be a more lightweight solution compared to using websockets or AJAX polling.

```php
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

// Simulate real-time updates
while (true) {
    $data = generateUpdate(); // Function to generate update data
    echo "data: " . json_encode($data) . "\n\n";
    ob_flush();
    flush();
    sleep(1); // Wait for 1 second before sending the next update
}

function generateUpdate() {
    // Generate update data here
    return ['message' => 'New content update'];
}
```
In this code snippet, we set the headers to indicate that the response should be treated as an event stream. We then enter a loop where we generate update data and send it to the client using `echo`. The `ob_flush()` and `flush()` functions are used to send the data immediately to the client. Finally, we simulate real-time updates by waiting for 1 second before sending the next update.