Украсьте смесь PHP и HTML заявление - PullRequest
0 голосов
/ 05 февраля 2020

Я хочу написать эту строку в одном внешнем теге php. Может быть, мы можем использовать эхо-оператор с конкатенацией? Или кто-то может использовать троичное утверждение, чтобы украсить его?

<?php if ( condition = true ) { ?>

  <p ><label for="user_limit" > User - Limit(&euro;)</label ><input type = "text" name = "user_limit" id = "user_limit" size = "40" value = "<?php echo inout($res['user_limit']);?>" /></p >

<?php } ?>

Ответы [ 2 ]

2 голосов
/ 05 февраля 2020

Лично я бы не стал сокращать ваш код, потому что это сделало бы его менее читабельным, единственное, что я бы изменил, это использование syntacti c sugar , чтобы упростить понимание, где оператор if останавливается следующим образом:

<?php if ( condition = true ): ?>

  <p ><label for="user_limit" > User - Limit(&euro;)</label ><input type = "text" name = "user_limit" id = "user_limit" size = "40" value = "<?php echo inout($res['user_limit']);?>" /></p >

<?php endif; ?>

По моему мнению, использование комбинации if / endif более читабельно при объединении html и php.

Однако, если вы хотите сделать его более компактным, за счет Читаемость вы можете использовать этот один вкладыш:

<?= ($condition) ? '<p ><label for="user_limit" > User - Limit(&euro;)</label ><input type = "text" name = "user_limit" id = "user_limit" size = "40" value = "' . $someVal . '" /></p>' : ''; ?>

Объяснение:

// <?= is called short echo tag and it equals <?php echo
// ?: ternary operator is shorthand for if/else statement
1 голос
/ 05 февраля 2020

Да, вы можете использовать эхо

<?php 
if ( $condition == true ) { 

    echo "<p>
            <label for='user_limit'> User - Limit(&euro;)</label>
            <input type='text' name='user_limit' id='user_limit' size='40' value='" 
                . inout($res['user_limit']) . "' />
          </p>";
}

ПРИМЕЧАНИЕ: Также убрал много ненужных пробелов в вашем HTML, чтобы сохранить его в чистоте и порядке

...