Есть ли лучший способ написать этот PHP-код? - PullRequest
0 голосов
/ 17 сентября 2010
return'
    <li>
    <a href="nano.com/' . $username . '"><img class="avatar" src="images/' . $picture . '" width="48" height="48" alt="avatar" /></a>
    <div class="tweetTxt">
    <strong><a href="nano.com/' . $username . '">' . $username . '</a></strong> '. autolink($tweet).'
    <div class="date">'.relativeTime($dt).'</div><div class="date">'. $reply_info . '</div> <a class ="reply"  href="home.php?replyto=@'. $username .'&status_id='. $id .'&reply_name=' .$username.'"> reply </a>

    </div>
    <div class="clear"></div>
    </li>';

Мне было интересно, есть ли более чистый способ написания этого кода, и учитывая время обработки, если это действительно что-то значит.

ps этот код является частью функции, этозаявление о возврате!

Ответы [ 6 ]

3 голосов
/ 17 сентября 2010

Да.Используйте двойные кавычки для строки PHP (и одинарные кавычки для атрибутов HTML), тогда вы можете просто использовать переменные PHP в строке, например так:

"<a href='nano.com/$username'>";

Действительно ли время обработкипроблема?Я сомневаюсь в этом, но профиль наверняка.


Редактировать: Если кто-то не уверен в использовании одинарных кавычек в атрибутах HTML, взгляните на этот вопрос .Довольно единодушно согласны, что одинарные кавычки в порядке.Если кто-нибудь может дать достойный контраргумент, я буду рад это услышать.

2 голосов
/ 17 сентября 2010

Вы можете использовать синтаксис HEREDOC:

$auto = autolink($tweet);
$rel = relativeTime($dt);
return <<<ENDOFRETURN
    <li>
    <a href="nano.com/$username"><img class="avatar" src="images/$picture" width="48" height="48" alt="avatar" /></a>
    <div class="tweetTxt">
    <strong><a href="nano.com/$username">$username</a></strong> $auto
    <div class="date">$rel</div><div class="date">$reply_info</div> <a class ="reply"  href="home.php?replyto=@$username&status_id=$id&reply_name=$username"> reply </a>
    </div>
    <div class="clear"></div>
    </li>
ENDOFRETURN;
2 голосов
/ 17 сентября 2010

Шаблон очистителя и код php -> использовать MVC

1 голос
/ 17 сентября 2010

Да, есть, и вам не нужен MVC (только шаблон):

<li>
 <a href="nano.com/<?=$username ?>">
  <img class="avatar" src="images/<?=$picture ?>" width="48" height="48" alt="avatar" />
 </a>
 <div class="tweetTxt">
  <strong><a href="nano.com/<?=$username ?>"><?=$username ?></a></strong>
  <? echo autolink($tweet) ?>
  <div class="date"><?=relativeTime($dt) ?></div>
  <div class="date"><?=$reply_info ?></div>
  <a class="reply" href="home.php?replyto=@<?=$username?>&status_id=<?=$id?>&reply_name=<?=$username?>">
  reply
  </a>
 </div>
 <div class="clear"></div>
</li>

Необходимо прочитать: http://wiki.yet -another-project.com / php / the_one_single_step_for_a_cleaner_code . Он описывает, как вы должны использовать код выше.

0 голосов
/ 17 сентября 2010

Вы можете использовать шаблонизатор, например, smarty, twig, ...

0 голосов
/ 17 сентября 2010

Я бы разрезал на несколько частей и использовал бы sprintf(), чтобы связать все это вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...