In what situations should styles and text be separated from PHP code, such as in templates, to ensure better maintainability and extensibility of the code?

Separating styles and text from PHP code, such as in templates, is essential for better maintainability and extensibility of the code. By keeping the presentation layer separate from the logic, it becomes easier to make changes to the design without affecting the functionality of the application. This also allows for easier collaboration between designers and developers, as they can work on their respective parts independently.

```php
<?php
// Template file (example.php)
?>
<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
    <h1>Welcome <?php echo $username; ?></h1>
    <p><?php echo $message; ?></p>
</body>
</html>
```
In the above example, the PHP code is only responsible for fetching data and passing it to the template. The actual HTML structure and styling are kept separate in the template file and the external styles.css file, ensuring better maintainability and extensibility.