Что делает обертывание процедурного блока в фигурных скобках в php? - PullRequest
7 голосов
/ 15 февраля 2010

Недавно я просматривал код для Dolphin CMS (потрясающий пример для ненавистников PHP), когда наткнулся на этот маленький драгоценный камень в /grp.php:

.
{
    switch ( $_REQUEST['action'] ) {
        //a crapton of switch statements
    }
}

Мне любопытно, что означают оберточные фигурные скобки "{}" без каких-либо ключевых слов. Я занимаюсь разработкой PHP в первую очередь, так что, может быть (надеюсь ?? !!?), Это то, о чем я просто не знаю, но я попытался удалить скобки, и код работает как обычно.

Мне трудно понять, зачем это будет.

Есть идеи?

(ПРИМЕЧАНИЕ: это действительно только для моего назидания. У меня почти проблемы со сном, потому что для меня это не имеет никакого смысла ...)

Ответы [ 2 ]

11 голосов
/ 15 февраля 2010

Я видел это в больших блоках процедурного кода. Кажется, это помогает группировать логические блоки вместе, которые обычно могут быть абстрагированы для отдельной функции Это несколько помогает при редактировании, и ваша IDE может быстро идентифицировать блок по фигурным скобкам.

Функционально, я не думаю, что это что-то делает. Визуально помогает групповой код.

0 голосов
/ 15 февраля 2010

Без контекста сложно сказать. Они могут пытаться ограничить область действия определенных переменных. Я не знаю конкретных правил PHP, но они могут пытаться обеспечить, чтобы переменные, измененные внутри этого оператора switch, не влияли на вещи вне блока. Или они могут использовать шаблон RAII .

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