Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> правильный стиль программирования, структурировать HTML-верстку и PHP-код 
:(
    Опции темы
1234567890qwerty
Дата 6.9.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.1.2008

Репутация: нет
Всего: нет



Здрасте всем, вот последнее время стал задаваться вопросом как правельней будет писать код полность на php или html со вставками php
вот примеры:
это на php:
Код

<?php
$filename = "guestbook.php";
echo "<form action=".$filename." method=\"post\">";
echo "<table border=\"1\">";
echo "<tr>";
echo "<td colspan=\"2\" align=\"right\"><a href=".$filename.">Назад <-</a></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\">Имя:</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\"><input type=\"text\" name=\"name\"></td>";
echo "</tr>";
echo "</table>";
echo "</form>";
?>


а это со вставками php
Код

<?php
$filename = "guestbook.php";
?>
<form action=<?php echo $filename; ?> method="post">
<table border="1">
<tr>
<td colspan="2" align="right"><a href="<?php echo $filename; ?>">Назад <-</a></td>
</tr>
<tr>
<td colspan="2">Имя:</td>
</tr>
<tr>
<td colspan="2"><input type="text" name="name"></td>
</tr>
</table>
</form>
?>


скажите своё мнение, какого из них лучше придерживаться?
PM MAIL WWW   Вверх
bars80080
Дата 6.9.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



лучше второй вариант, зачем лишний раз прогонять километры кода через интерпретатор?

чего больше, так и пишешь. больше хтмл - делаешь вставки, больше пхп-кода - вообще не выводишь, а собираешь в весь код хтмл в одну переменную, чтобы потом её вывести одним куском
PM MAIL WWW   Вверх
Sunvas
Дата 6.9.2008, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



На нравятся мне вставки PHP - жутко неудобно редактировать. Сидишь, выискиваешь эти вставки... Пфф.   smile Как по мне лучше вообще писать:
Код

echo '
Тут HTML
Тут HTML
Тут HTML
Тут HTML
Тут HTML';


Или:
Код

echo <<<HTML
Тут HTML
Тут HTML
Тут HTML
Тут HTML
Тут HTML
HTML;



--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
DioNiR
Дата 6.9.2008, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



Подерживаю Sunvas.
Но у меня принцип такой сначала всю работу делает PHP. Собирает весь HTML в одно. и в конце всё выводит.

А вообще стиль кода это больше склоняется к оформлению не только вывода текста и всего. разных отступов, где и как выодить скобки и т.д
--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
Mal Hack
Дата 6.9.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Sunvas @  6.9.2008,  19:07 Найти цитируемый пост)
Как по мне лучше вообще писать:

Второй вариант - да, хорош. Первый - нет, с точки зрения безопасности раз, с точки зрения правильности html - два.
PM ICQ   Вверх
gta4kv
Дата 6.9.2008, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



А по мне, так лучше вообще HTML от PHP отделять.
PM MAIL   Вверх
Sunvas
Дата 7.9.2008, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



Цитата(Mal Hack @  6.9.2008,  19:35 Найти цитируемый пост)
с точки зрения безопасности раз, с точки зрения правильности html - два.

А можно разжевать почему?


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Mal Hack
Дата 7.9.2008, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Sunvas @  7.9.2008,  01:37 Найти цитируемый пост)
А можно разжевать почему? 

Можно.
1. Что будет в случае echo '....', если в HTML ' попадется?
2. echo '.....' HTML сделает БЕЗ переводом строк, т.е. нечитаемым.
3. Что будет в случае echo '....', если в HTML $ попадется, с последующими латинскими символами?
PM ICQ   Вверх
HackMan
Дата 7.9.2008, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



1234567890qwerty, правильным будет для начала подучить HTML  smile затем надо разобраться с оформлением кода, с отступами и всякое такое, а уже затем советую применять второй вариант. Так как много echo
а) режет глаз
б) заставляет PHP немного неоправданно поднапрячься
в) избавляет от головняка: где использовать ', где ", где \" \'

Я пользуюсь редактором phpDesigner, он подсвечивает отдельно PHP и отдельно HTML, в зависимости от того, на чём сейчас курсор, что очень удобно

Это сообщение отредактировал(а) HackMan - 7.9.2008, 03:24


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
1234567890qwerty
Дата 7.9.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.1.2008

Репутация: нет
Всего: нет



Вообщем я понял что большинство склоняеться ко 2 варианту считая его боллее предпочтительнее. но тогда такой пример:
Код

<?php
     if ($load != true)
     {
?>
          <tr>
          <?php
               for($x=0;$x<=5;$x++)
               {
          ?> 
                     <td align="center">
                     <a href="index.php?num=2&load=true&nums=<?php echo $i; ?>"><img src="<?php echo $i; ?>.gif" border="0"></a>
                     </td>
                     <td align="center" width="16"></td>
       <?php
                     $i++;
               }    
       ?>
          </tr>
          <tr>
          <td align="center" width="16" height="16"></td>
          </tr>
<?php
     }
     else
     {
?>

и это только часть, в полном коде лично я вообще запутался, где и куда относяться скобки и так даллее...  smile 
а мне надо переписать так чтобы всё выглядело очень понятно smile может кто примерчик подскажет smile 


HackMan, да как бы html я уже давно подучил smile


gta4kv, а можеш показать как именно ты отделяешь их? smile 

PM MAIL WWW   Вверх
gta4kv
Дата 7.9.2008, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



1234567890qwerty, всё слишком сложно ;)
просто у меня есть некий свой «заготовок», со вшитым шаблонизатором. такая не доCMS.
PM MAIL   Вверх
Sunvas
Дата 7.9.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



Отвечу:
Цитата(Mal Hack @  7.9.2008,  01:21 Найти цитируемый пост)

1. Что будет в случае echo '....', если в HTML ' попадется?
2. echo '.....' HTML сделает БЕЗ переводом строк, т.е. нечитаемым.
3. Что будет в случае echo '....', если в HTML $ попадется, с последующими латинскими символами?

1. Будет обыкновенная ошибка. И, чтобы ее исправить, достаточно при помощи \ заэкранировать кавычку. Пользуйтесь нормальным редактором PHP с подсветкой синтаксиса, тогда это место найти будет проще.

2. Если написать так:
Код

echo '
Тут HTML
Тут HTML
Тут HTML
Тут HTML
Тут HTML';

То переводы строк будут. Можете проверить.

3. Ничего. Абсолютно ничего. Данные парсятся в двойных кавычках и heredoc-е. Тем-то и хороши апострофы, что содержимое строки внутри их тупо вываливается на страницу без дополнительных проверок - это повышает скорость работы.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Mal Hack
Дата 7.9.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Sunvas @  7.9.2008,  12:10 Найти цитируемый пост)
3. Ничего. Абсолютно ничего.

Согласен. Проглюкнуло.

Цитата(Sunvas @  7.9.2008,  12:10 Найти цитируемый пост)
1. Будет обыкновенная ошибка.

Вот. А поэтому, чтобы ее избежать эту конструкцию не используем и точка... Будете вы потом верстальщику объяснять какие ковычки писать можно, а какие нет.

Цитата(Sunvas @  7.9.2008,  12:10 Найти цитируемый пост)
. Данные парсятся в двойных кавычках и heredoc-е

В хередоке дожно быть {$var}

Цитата(1234567890qwerty @  7.9.2008,  10:44 Найти цитируемый пост)
Вообщем я понял что большинство склоняеться ко 2 варианту считая его боллее предпочтительнее. но тогда такой пример:

Большинство, еще не значит, что так правильно.
Узайте heredoc и будет вам счастье.

Цитата(Sunvas @  7.9.2008,  12:10 Найти цитируемый пост)
То переводы строк будут. Можете проверить.

Сколько помню не было такого.. Проверить все равно не могу.
PM ICQ   Вверх
Sunvas
Дата 7.9.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



Цитата(Mal Hack @  7.9.2008,  12:47 Найти цитируемый пост)
А поэтому, чтобы ее избежать эту конструкцию не используем и точка... Будете вы потом верстальщику объяснять какие ковычки писать можно, а какие нет.

Чтобы избежать ошибки - используйте нормальный редактор с хорошей подсветкой синтаксиса.
А что верстальщик делает в PHP файлах? Ему разве там место? - По-моиму нет.

Цитата(Mal Hack @  7.9.2008,  12:47 Найти цитируемый пост)
В хередоке дожно быть {$var}

Ничего подобного. Т.е. рекомендуется переменные закрывать в{}, но это далеко не обязательно.


Цитата(Mal Hack @  7.9.2008,  12:47 Найти цитируемый пост)
Сколько помню не было такого..

Возможно Вы просто немножко отстали? Не знаю, с каких пор Вы помните PHP, но переводы строки действительно ставятся.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
HackMan
Дата 8.9.2008, 03:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



1234567890qwerty, для удобства можно пользоваться сокращёнными конструкциями

Код

<?php if ($load != true): ?>
  <tr>
<?php   for ($x=0; $x<=5; $x++, $i++): ?>
    <td align="center">
      <a href="index.php?num=2&load=true&nums=<?php echo $i-1; ?>"><img src="<?php echo $i-1; ?>.gif" border="0"></a>
    </td>

    <td align="center" width="16">
    </td>
<?php   endfor; ?>
  </tr>

  <tr>
    <td align="center" width="16" height="16">
    </td>
  </tr>
<?php else ?>
...
<?php endif; ?>


Это сообщение отредактировал(а) HackMan - 8.9.2008, 03:55


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0620 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.