Сразу с HTML и PHP работает много кто, да хотя бы встроенный редактор Far Manager работает довольно корректно (с Colorer, естественно). А как правильней оформлять? Правильней всего вид от логики отделять как уже посоветовали. Например, в простейшем случае, в начале файла размещать исключительно PHP код, делающий нужные телодвижения для получения и обработки данных и перевода их в вид, готовый к выводу на страницу (включая вызовы htmlspecialchars()), а за ним - исключительно HTML, со включениями PHP лишь для вывода значений и простейших операторов if (без громоздких условий, все вычисления должны идти в начале, где код PHP) и for/foreach.
<?php
$users = UsersModel::getAllUsers();
$usersPrepared = [];
foreach($users as $user) {
$usersPrepared[] = array(
'id' => $user->id,
'name' => htmlspecialchars(sprintf('%, %', $user->lastName, $user->firstName)),
...
);
}
?>
<!DOCTYPE html>
<html>
<head>...</head>
<body>
<table>
<?php foreach($usersPrepared as $user) { ?>
<tr data-id="<?php echo $user['id'] ?>">
<td><?php echo $user['name'] ?></td>
</tr>
<?php } ?>
</table>
</body>
</html>
Как-то так.