правильно ли использовать закрывающий тег php внутри оператора if? : <?PHP если (условие) { ?>}

правильно ли использовать закрывающий тег php внутри оператора if? : &lt;?PHP если (условие) { ?&gt;}

23.04.2019 11:43:37 Просмотров 3 Источник

В opencart 2.2 продукт.в файле tpl я нашел следующий код, который меня очень смущает:

<div class="row" style="padding-top:10px"><?php echo $column_left; ?>
<?php if ($column_left && $column_right) { ?>
<?php $class = 'col-sm-6'; ?>
<?php } elseif ($column_left || $column_right) { ?>
<?php $class = 'col-sm-9'; ?>
<?php } else { ?>
<?php $class = 'col-sm-12'; ?>
<?php } ?>

В частности, я не в состоянии понять, как они могут использовать ?> внутри фигурных скобок оператора if? Что еще более важно, я попытался пересмотреть приведенный выше код следующим образом, но затем он перестал работать:

<div class="row"><?php echo $column_left; ?>
<?php if ($column_left && $column_right) { 
$class = 'col-sm-6'; 
} 
elseif ($column_left || $column_right) { 
$class = 'col-sm-9'; 
} else { 
$class = 'col-sm-12'; 
?>

Какие-нибудь объяснения?

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition#comment98282609_55807365
Добро пожаловать в Stackoverflow, вы можете описать, что вы получили? вы получили какую-нибудь ошибку?
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition#comment98282831_55807365
мой вопрос заключается в том, в чем заключается ваша проблема с приведенным выше кодом?
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition#comment98283266_55807365
Я хочу знать синтаксическую структуру. Согласно моим знаниям синтаксис должен быть php if (condition) { оператор} ?> но использовать код <?PHP если ($column_left && $column_right) { ?> <?php $class = 'col-sm-6';?> <?php } elseif ($column_left | / $column_right) { ?> <?php $class = 'col-sm-9';?> <?php } else { ?> <?php $class = 'col-sm-12';?> <?на PHP } ?> это сбивает меня с толку.
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition#comment98288154_55807365
Ваш вопрос не точен, потому что OpenCart на самом деле не делает этого: { ?>} внутри фигурных скобок оператора if всегда что-то есть.
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition#comment98290161_55807365
@ Павел Феакинс я дважды проверил код я вставил выше от продукта.файл tpl, и я его вообще не трогал. Они действительно используют этот код, и версия, которую я использую, - 2.2 для вашего сведения.
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition#comment98319829_55807365
Я говорю о названии вопроса.
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition#comment98452496_55807365
“Я хочу знать синтаксическую структуру” - ну тогда почему бы тебе не пойти почитать об этом? php.net/manual/en/language.basic-syntax.phpmode.php

Ответы - правильно ли использовать закрывающий тег php внутри оператора if? : &lt;?PHP если (условие) { ?&gt;} / is it correct to use php closing tag inside if statement? : <?php if (condition) { ?>}

Dmitriy Zhuk

23.04.2019 12:08:10

В коде php ошибки нет.

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

Так что это нормально писать так

<?php echo 'hello';
echo 'world';
?>

так же как и это

<?php echo 'hello'; ?>
<?php echo 'world'; ?>

Единственная причина, по которой OpenCart использует более поздний стиль, заключается в том, что он немного лучше, так как тег php создает столбец и немного легче читается.

https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition/55807809#comment98283527_55807809
Большое спасибо за объяснение. Я понял, что они используют открывающий и закрывающий тег на основе каждой строки. Меня это устраивает. но я считаю, что если утверждение имеет следующую структуру : php if (condition) {оператор} ? но в opencart я везде нашел следующую структуру: >PHP если ($column_left && $column_right) { ?> Почему они пишут закрывающий тег php без упоминания оператора, который предполагается выполнить?
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition/55807809#comment98283591_55807809
Следующий код является копией, вставленной из продукта.файл tpl. Не могли бы вы объяснить мне, пожалуйста? <div class=" row "style=" padding-top: 10px " ><div class=" row "style=" padding-top:10px">php echo $column_left; ?> <?PHP если ($column_left && $column_right) { ?> <?php $class = 'col-sm-6';?> <?php } elseif ($column_left | / $column_right) { ?> <?php $class = 'col-sm-9';?> <?php } else { ?> <?php $class = 'col-sm-12';?> <?на PHP } ?>
Pintu Kumar

23.04.2019 12:16:01

Его хорошо видно, есть синтаксическая ошибка для if. Вы не можете использовать elseifбез if.

<?php 
if ($check) {
    // Code...
} elseif ($check_2) {
    // Code...
}
?>
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition/55807949#comment98283690_55807949
Сэр, код шаблона по умолчанию: <div class=" row "style=" padding-top: 10px " ><div class=" row "style=" padding-top:10px">php echo $column_left; ?> <?PHP если ($column_left && $column_right) { ?> <?php $class = 'col-sm-6';?> <?php } elseif ($column_left | / $column_right) { ?> <?php $class = 'col-sm-9';?> <?php } else { ?> <?php $class = 'col-sm-12';?> <?на PHP } ?>
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition/55807949#comment98283703_55807949
Я заменил его как:<div class="row"><?php echo $column_left; ?> <?php if ($column_left && $column_right) { $class = 'col-sm-6';} elseif ($column_left | / $column_right) { $class = 'col-sm-9';} else { $class = 'col-sm-12';?>
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition/55807949#comment98283743_55807949
после замены сайт перестал работать, я не в состоянии понять синтаксис оператора if файла шаблона по умолчанию, но когда я попытался заменить его синтаксисом, который я знаю, он перестал работать.
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition/55807949#comment98317730_55807949
Вы пропустили заключительную '}' в последней строке. Использовать ниже код <div class="row"> <?php echo $column_left; ?> <?php if ($column_left && $column_right) { $class = 'col-sm-6';} elseif ($column_left | / $column_right) { $class = 'col-sm-9';} else { $class = 'col-sm-12';} ?>
https://stackoverflow.com/questions/55807365/is-it-correct-to-use-php-closing-tag-inside-if-statement-php-if-condition/55807949#comment98349141_55807949
@ShrikantSaxena сделал это исправить проблему, если да, пожалуйста, голосуйте. Спасибо :)
svikramjeet

02.05.2019 10:54:55

<div class="row"><?php echo $column_left; ?>
<?php if ($column_left && $column_right) { 
$class = 'col-sm-6'; 
} 
elseif ($column_left || $column_right) { 
$class = 'col-sm-9'; 
} else { 
$class = 'col-sm-12'; 
} // this is missing in your case
?>
SM Imtiaz Hussain

02.05.2019 11:04:47

<div class="row"><?php echo $column_left; ?>

<?php if ($column_left && $column_right) { 
         $class = 'col-sm-6'; 
       } 
      elseif ($column_left || $column_right) { 
         $class = 'col-sm-9'; 
       } else { 
         $class = 'col-sm-12'; 
       } // you have missed this "}" for the else .
 ?>
Закрыть X