Задать вопрос
doublench21
@doublench21

Как правильно оформлять код содержащий как HTML, так и PHP?

Быть может есть хороший форматтер ? То есть такой, который работает сразу с HTML и PHP в одном коде.
  • Вопрос задан
  • 2856 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@vdem
Сразу с 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>

Как-то так.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
doublench21
@doublench21 Автор вопроса
На данном примере ?
<code><html>
	<?php

if (!mysql_connect("localhost", "root", "")) // Ошибка исправляется доб. в php.ini "error_reporting = E_ALL & ~E_DEPRECATED"
    echo "ERROR! ".mysql_errno()." ".mysql_error()."\n";
    
mysql_select_db("students");   

mysql_set_charset("utf8");

$q = mysql_query ("SELECT * FROM `students` ORDER BY `students`.`id`")  
    or die("Invalid query: ".mysql_errno()." ".mysql_error()."\n");
    
$num_rows = mysql_num_rows($q);   // кол-во строк
$num_fields = mysql_num_fields($q); // кол-во столбцов

$a=mysql_result($q, $_GET['id'], 0);
if (!isset($_GET['id']) || !isset($a))
    die('User not find!');

?>
		<head>
			<title>
				<?=

mysql_result($q, $_GET['id'], 1);

?>
			</title>
			<meta charset="utf-8" />
			<meta name="description" content="... , <?=

mysql_result($q, $_GET['id'], 1);

?>" />
		</head>
		<body>
			<h1>
				...
			</h1>
			<h2>
				Студент:
				<?=

mysql_result($q, $_GET['id'], 1);

?>
			</h2>
            <h3>Возраст:</h3>
            <p>
               <?= mysql_result($q, $_GET['id'], 2); ?>
            </p>
			<h3>
				Описание:
			</h3>
			<p>
				<?= mysql_result($q, $_GET['id'], 3); ?>
			</p>
			
				
				<p><a href="students.php">Вернуться назад к Списку ...</a></p>
		</body>

</html></code>
Ответ написан
Комментировать
korovnikiss
@korovnikiss
Frontend
Для этого существует отделение логики приложения от его внешнего вида.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽