Во-первых PHP является шаблоном двигатель - в моих шаблонных движков опыт этот слой наверх PHP хороши только для простейших случаев и легко перерастают.
Во-вторых, исходный код не имеет отношения к какому-либо методу. В опасности заявить очевидное, чтобы лучше абстрагировать его на функцию;
function output_block($BACKGROUND, $LINK, $IMAGELINK, $DESCRIPTION, $PRICE)
{
echo "<div id='contentblock' style='background-image:url(images/$BACKGROUND.png);'>
<div id='picture'><a href='$LINK'><img src='$IMAGELINK'/></a></div>
<div id='description'><p>$DESCRIPTION</p></div>
<div id='price'><p class=price>$PRICE</p></div>
</div>";
}
Если вы хотите сделать это намного лучше, то примените фреймворк, показана следующая страница конфигурации администратора. Весь клей HTML обеспечивается каркасом - следующий код является реальным, но на самом деле иллюстрирует, как инфраструктура может предоставить вам много гранжевой работы.
В следующем примере, если я хочу отредактировать одну сущность, я бы изменил TableViewEdit
на FormView
и предоставил экземпляр объекта, а не итерируемый список.
$entity = new CbfConfig(); // Database entity
$page = new AdminWebPage("Site Configuration"); // Page for output
/*
* build the view
*/
$vil = new ViewItemList();
$col = &$vil->add(new ViewItem("description","Description"));
$col->get_output_transform()->allow_edit(false); // this field cannot be editted
$col = &$vil->add(new ViewItem("value","Value"));
$v1 = new TableViewEdit($entity, $vil,"admin_values"); // present as standard editable table
/*
* output the page
*/
$page->begin();
$iterable_list = CbfConfig::site_begin();
$page->add_body($v1->get_output($iterable_list,'admin_config'));
$page->end();
Является ли этот блок кода частью петли? –
В зависимости от того, как часто вы повторно используете это, вы можете создать класс, который принимает строку Id или Data и имеет метод GenerateHtml(). Это даст вам более чистый код, но может оказаться ненужным накладные расходы, если он используется только в нескольких местах. – Basic
звучит относительно стандартно, если вы не хотите использовать механизм шаблонов. –