PHP Альтернативные структуры управления, любые недостатки?

Я работал с PHP кодом, который генерирует HTML без каких-либо шаблонов, и это довольно спагетти и трудно читать с тем, как они структурировали его. Одним из способов радикального улучшения после потока, который я заметил, является использование : endif вместо { } блоков в некоторых случаях для повышения удобочитаемости. (См. Http://php.net/manual/en/control-structures.alternative-syntax.php )

  • Является ли это переносной?
  • Это стандарт?
  • Является ли это медленнее каким-либо значительным образом (я понимаю, что это требует больше символов)

Ура!

Является ли это переносной?

да

Это стандарт?

да

Является ли это медленнее каким-либо значительным образом (я понимаю, что это требует больше символов)

Я не знаю.

Но imho повышает его удобочитаемость и удобство обслуживания, если вы используете его в сочетании с HTML.

Пример:

 <?php foreach($array as $value): ?> <div> <?php if($value == "foo"): ?> <p><?php echo $value; ?></p> <?php endif; ?> </div> <?php endforeach; ?> 

против

 <?php foreach($array as $value) { ?> <div> <?php if($value == "foo") { ?> <p><?php echo $value; ?></p> <?php } ?> </div> <?php } ?> 

Это всего лишь небольшой пример, но я думаю, что endif и endforeach гораздо проще определить как <?php } ?> . Так что да, определенно используйте его с HTML!

Я не использую его нигде, потому что в «нормальном» коде мне становится труднее читать.

Лично я ненавижу их, но они являются частью языка. Они не устарели, и я сомневаюсь, что их скоро удалит.

Вещь, о которой вы должны быть осторожны, заключается в том, что вы не можете смешивать два синтаксиса в одном контрольном блоке (как говорится на странице руководства).

Я не считаю их более читаемыми. Идентификация дает достаточно информации. Если у вас есть блоки достаточно долго, что вы видите себя с помощью этих структур управления или } //end of while , вы должны реорганизовать свой код.

PHP Альтернативные структуры управления, любые недостатки?

Да, вы не можете использовать % in vim для отскока между началом и концом блока. Просто говорю.

ответить прямо: Да, это стандартная и портативная, и она не медленнее. Это простая альтернатива стандартному синтаксису фигурных скобок. Независимо от того, решите ли вы его использовать, вы выбираете стиль.

Лично я, будучи обученным и использующим языки c-стиля, всю свою карьеру программирования (до сих пор), предпочитаю фигурные скобки с простым комментарием после окончания фигурной скобки, которая сообщает вам, что она заканчивается.

Единственный недостаток, который я вижу, заключается в том, что в редакторе, таком как возвышенный текст, есть такие опции, как «Переход к согласующемуся кронштейну» и «Разверните выбор в скобки», которые не будут работать с альтернативным синтаксисом