Вставка PHP-переменной в HTML код | PHP.RU

Вставка PHP-переменной в HTML код

Freakmeister » Пн ноя 01, 2010 16:14

Как правильно вставить переменную в HTML? В таком виде не работает:

[html]<a href=»».$siteurl.»/forum»>Форум</a>[/html]

и в таком тоже:

[html]<a href=»».$siteurl/forum.»»>Форум</a>[/html]

Такой синтаксис работает, только если выводить всю вёрстку через echo, но тогда приходится экранировать все кавычки, что геморно:

[html]<a href=»$siteurl/forum»>Форум</a>[/html]

Можно конечно сделать вот так, но это уже извращение помоему:

[html]<a href=»<?php echo «$siteurl»; ?>/forum»>Форум</a>[/html]



Как вообще это делается правильно? Чтоб не на коленке и во всех браузерах выглядело одинаково.



Freakmeister

 
Сообщения: 370
Зарегистрирован: Вс дек 20, 2009 20:51

WildZero » Пн ноя 01, 2010 16:48

[php]<a href=»<?=$siteurl;?>/forum»>Форум</a>[/php]
WildZero
 
Сообщения: 242
Зарегистрирован: Ср фев 24, 2010 10:27
Откуда: Пермь

Freakmeister » Пн ноя 01, 2010 16:50

Спасибо. Не загуглилось чот.) А точка с запятой после переменной точно нужна?



Freakmeister

 
Сообщения: 370
Зарегистрирован: Вс дек 20, 2009 20:51

ideea » Пн ноя 01, 2010 18:01

не обязательно, и лучше не используйте <?=, а используйте <?php print/echo $var ?>
ideea
 
Сообщения: 63
Зарегистрирован: Сб окт 03, 2009 15:07

A.B.C. » Пн ноя 01, 2010 18:41

<a href=»<?php print $siteurl; ?>/forum»>Форум</a>



правильно извращение



A.B.C.

 
Сообщения: 109
Зарегистрирован: Ср мар 03, 2010 09:21

Freakmeister » Пн ноя 01, 2010 19:55

Так… мнения разделились.) Чем писать каждый раз такую ересь, мне проще всю вёрстку сделать через print или echo, ибо код будет выглядеть наглядней. А почему <?= лучше не использовать?



Freakmeister

 
Сообщения: 370
Зарегистрирован: Вс дек 20, 2009 20:51

tommyangelo » Пн ноя 01, 2010 20:00

А почему <?= лучше не использовать?





Говорят, что в след версиях php этой сокращенной нотации не будет

blbnt dct yf[eq? pft,fkb!! (друидский)

переводится — «не мешайте работать, пожалуйста»



tommyangelo

 
Сообщения: 2558
Зарегистрирован: Вс дек 06, 2009 19:44
Откуда: Мариуполь

Gromo » Пн ноя 01, 2010 20:16

Freakmeister

существует два подхода разработки на пхп:



1. вставка пхп в хтмл — <div><?php echo $var; ?></div>

2. вставка хтмл в пхп — <?php echo ‘<div>’.$var.'</div>’; ?>



начинающие работают по первому способу, а те, кто продвинулся чуть дальше — по второму.

не знаю как работают гуру (может быть снова по 1-му способу 😀 ), но при использовании

MVC используется второй способ, а при шаблонизаторах этот вопрос вообще отпадает.



UPD. дело в том, что у начинающих хтмл кода больше, чем пхп.

а у более продвинутых пхп кода (логики работы) больше, чем хтмл (оформления).



рано или поздно, но всё равно придёшь к шаблонизаторам 😉
Неправильные вопросы возникают из неверно выбранных решений.



Телепатией не страдаем!



Gromo

 
Сообщения: 2788
Зарегистрирован: Пн май 24, 2010 16:35
Откуда: Ташкент

Freakmeister » Вт ноя 02, 2010 01:00

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



А если использовать такую вставку хтмл в пхп?



<?php echo «<div>$var</div>»; ?>



Тоесть, без всяких точек. Такой синтаксис работает во всех браузерах. Вот только не потеряет ли такой сайт функциональности в будущем?



Freakmeister

 
Сообщения: 370
Зарегистрирован: Вс дек 20, 2009 20:51

Gromo » Вт ноя 02, 2010 07:58

стандарт хтмл требует оформлять атрибуты тегов в двойные кавычки.



думаю, что такой вариант



<?php echo ‘<input type=»text» name=»‘.$name.'» value=»‘.$val.'»>’; ?>



проще чем



<?php echo «<input type=»text» name=»$name» value=»$val»>»; ?>
Неправильные вопросы возникают из неверно выбранных решений.



Телепатией не страдаем!



Gromo

 
Сообщения: 2788
Зарегистрирован: Пн май 24, 2010 16:35
Откуда: Ташкент

igordata » Вт ноя 02, 2010 20:33

Freakmeister

вобще разговор ни о чем. =)



igordata

 
Сообщения: 16255
Зарегистрирован: Чт мар 18, 2010 05:36

Vladson » Пн ноя 08, 2010 22:33

Freakmeister писал(а):Можно конечно сделать вот так, но это уже извращение помоему:



Нет, это вполне нормальный подход.

Freakmeister писал(а):делаю так



А вот это уже под вопросом, имхо как раз это извращение…



tommyangelo писал(а):Говорят, что в след версиях php этой сокращенной нотации не будет



Уже сейчас на многих хостингах отключено

Один Владсон может за…ать всех, кроме себя самого. ~/

Два Владсона могли бы за…ать абсолютно кого угодно, но Владсон единственный и неповторимый… © Владсон



Vladson

Сильнобухер
 
Сообщения: 3975
Зарегистрирован: Сб фев 04, 2006 15:26
Откуда: Estonia, Tallinn

http://php.ru/forum/viewtopic.php?t=28525

Губарь Маргарита Александровна