PHP и HTML форматирование, супер основной вопрос - PullRequest
2 голосов
/ 18 августа 2011

Я попал в фазу своего кода, где у меня слишком много кода и слишком много HTML зависит от последствий некоторых условий сервера.

Я просто хочу знать, есть ли способ обойти:

<?php if (cond) echo '<p class="someclass">some HTML</p>'; ?> 

Я просто хотел бы, чтобы в C было что-то похожее, куда вы можете просто перейти:

#ifdef x 
    do_a_lot_of_html_stuff;
#endif

Все, что я могу сейчас увидеть, это пойти так:

<?php if (x) require_once("includes/all_needed_part.php"); ?>

Спасибо!

Ответы [ 10 ]

6 голосов
/ 18 августа 2011

Не совсем уверен, что вы спрашиваете, поэтому, если я правильно понимаю ваш вопрос, вы ищете способ распечатать блоки HTML с помощью PHP?

<?php if ($a == $b): ?>
  <div>a == b</div>
  <p>a is equal to b</p>
<?php else: ?>
  <div>a != b</div>
  <p>a is not equal to b</p>
<?php endif; ?>
2 голосов
/ 18 августа 2011

Обычно я делаю это так:

<?
    function print_heading()
    {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title><? print_title(); ?></title>
    <link rel="stylesheet" type="text/css" href="..." />
    <script language="javascript" type="text/javascript" src="..."></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="title" content="<? print_title(); ?>" />
</head>
<?
    }
?>

Но я думаю, что замена function print_heading() на if (condition) тоже подойдет.

1 голос
/ 31 мая 2017

Вы можете добавить HTML между условиями PHP следующим образом:

<?php 
$a=1;
if($a==1){ ?>
<div>All the HTML Stuffs</div>
<?php } ?>
1 голос
/ 18 августа 2011

Есть альтернативный синтаксис:

<?php if($x): ?>
do_a_lot_of_html_stuff;
<?php endif; ?>
0 голосов
/ 18 августа 2011

Я думаю, вы находитесь в той точке кода, где вам следует использовать объектно-ориентированное программирование. процедурное кодирование хорошо, но вы в конечном итоге достигнете того, что на вашей странице будет слишком много кода.

0 голосов
/ 18 августа 2011

хорошо, вы могли бы использовать синтаксис типа c и все еще делать много вещей вроде.

Это типичный php-подход, использующий синтаксис c-like.

<?php
    if(1==1):
        echo 'i can do lots of stuff here';
        $variable = 'i hold some value';
        $array = array('1','two','three');
    endif;
?>

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

<?php
if(condition) {
   //do some stuff here
} else if(cond) {
   //do another stuff here based on some conditions 
} else if(cond) {
    //you can extend the nested elseif as many times as you like
} else {
    //else execute this.
}
?>
0 голосов
/ 18 августа 2011

Я бы порекомендовал вам проверить шаблонизатор , многие из них существуют для PHP, один из самых зрелых из которых Smarty .Одним из более новых (и более чистых) решений является Twig , который используется в Symphony Framework .

0 голосов
/ 18 августа 2011

Вы можете сделать что-то вроде:

<?php if( cond ) { ?>
    SECRET!
<?php } ?>
0 голосов
/ 18 августа 2011

Вы можете использовать альтернативный синтаксис для структур управления в сочетании с heredoc-синтаксисом .

0 голосов
/ 18 августа 2011

Угадаете, вы спрашиваете, есть ли фреймворки для php?Ответ - да, и вот хотя бы один хороший: http://cakephp.org/

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