How can the EVA principle be applied to improve the structure of PHP code for database queries?

Issue: The EVA principle (Entity-View-Adapter) can be applied to improve the structure of PHP code for database queries by separating the database logic from the presentation layer. This separation helps in making the code more maintainable, scalable, and testable. Code snippet:

// Entity class
class User {
    private $id;
    private $name;
    
    public function __construct($id, $name) {
        $this->id = $id;
        $this->name = $name;
    }
    
    // Getters and setters
}

// View class
class UserView {
    public function renderUser(User $user) {
        return "<p>User ID: {$user->getId()}, Name: {$user->getName()}</p>";
    }
}

// Adapter class
class UserAdapter {
    public function getUserById($userId) {
        // Database query to fetch user data
        $userData = // Query to fetch user data by ID
        
        // Create User object from fetched data
        $user = new User($userData['id'], $userData['name']);
        
        return $user;
    }
}

// Implementation
$userAdapter = new UserAdapter();
$user = $userAdapter->getUserById(1);

$userView = new UserView();
echo $userView->renderUser($user);