2015-07-15 2 views
-1

PHP имеет альтернативный синтаксис для структур управления (http://php.net/manual/en/control-structures.alternative-syntax.php), и я использовал его очень часто в последнее время, пока не застрял, ища альтернативный синтаксис для try-catch.PHP альтернативный синтаксис для try-catch

Есть ли альтернативный синтаксис для try-catch? Если нет, то кто-нибудь знает, почему PHP не включает его в качестве одной из его функций, поскольку он имеет альтернативу для других структур?

+0

Нет не существует альтернативный синтаксис для блока попытаться поймать. * PHP предлагает альтернативный синтаксис для ** некоторых ** его структур управления * <- Как говорится в руководстве, существует альтернативный синтаксис только для некоторых структур управления, но для получения точной причины вам, вероятно, придется спросить PHP-разработчик. – Rizier123

+0

Хотя нет ничего плохого в использовании альтернативного синтаксиса, возможно, стоит взглянуть на руководства по стилю кодирования PSR-1/2. Всегда стоит следовать универсально рекомендованному синтаксису для языка, используемого вами, особенно если вы планируете подкреплять проекты. Хотя, как я уже сказал, используйте то, с чем вам удобно, и используйте его последовательно, но имейте в виду, что большинство проектов с открытым исходным кодом будут следовать руководящим принципам PSR, и любые вклады в них будут также следовать этим рекомендациям. – Jeemusu

+0

@jeemusu благодарит за информацию. Но я подумал, что когда PHP полностью поддерживает альтернативный синтаксис, возможно, у нас может быть новый PSR, который обеспечивает синтаксис без фигурных скобок (например, ruby ​​и phyton). Я обнаружил, что это более удобно. –

ответ

0

Нет, альтернативный синтаксис для try-catch отсутствует. Зачем? Никто не просил об этом. Вы можете сделать первый шаг и open an RFC.

+0

thanks :) Я думал, что было бы здорово, если бы у этой функции была такая возможность, поскольку некоторые разработчики более удобны с альтернативным синтаксисом. –

+0

@WendyAdi это было бы невозможно в IMO, например, вы не хотите видеть эту логику в представлении при использовании шаблона MVC (try ... catch), но это не проблема с использованием другого альтернативного синтаксического шаблона ' A равен 5 '. Фактически в большинстве MVC-фреймворков вы используете его в виде –

1

Нет такого альтернативного синтаксиса, потому что команда IMHO try/catch не является условной условной структурой, например if, switch, ... Блок catch просто обрабатывает исключение.

От PHP documentation:

Код может быть окружен в Ьгу блоке, чтобы облегчить отлов потенциальных исключений

Смежные вопросы