What are some best practices for structuring PHP classes and objects to effectively display data on a webpage?

When structuring PHP classes and objects to display data on a webpage, it is best practice to separate the business logic from the presentation layer. This can be achieved by creating separate classes for data manipulation and rendering HTML output. Additionally, using object-oriented principles such as inheritance and encapsulation can help in organizing and maintaining the codebase effectively.

<?php

// Data manipulation class
class DataManager {
    public function fetchData() {
        // Fetch data from database or any other source
        return $data;
    }
}

// HTML rendering class
class HtmlRenderer {
    public function renderData($data) {
        // Render HTML output using the data
        echo "<ul>";
        foreach ($data as $item) {
            echo "<li>{$item}</li>";
        }
        echo "</ul>";
    }
}

// Implementation
$dataManager = new DataManager();
$htmlRenderer = new HtmlRenderer();

$data = $dataManager->fetchData();
$htmlRenderer->renderData($data);

?>