Tutorial :What does wrapping a procedural block in curly braces do in php?


I was going through some of the code for Dolphin CMS recently (a craptastic example for PHP haters) when I ran across this little gem in /grp.php:

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

I'm curious what the wrapping curly braces, "{}" without any keywords, are about. I do PHP development primarily so maybe (hopefully??!!?) this is something I just don't know about but I've tried removing the braces and the code runs as usual.

I'm having a hard time understanding wtf the purpose for this would be.

Any ideas?

(NOTE: This is really just for my own edification. I'm almost having trouble sleeping because this isn't making any sense to me...)


I've seen this in large blocks of procedural code. It seems to help group logical blocks together that might normally be abstracted to a separate function. This, somewhat, helps when editing and your IDE can quickly identify the block by the braces.

Functionally, I don't think it does anything. Visually, it helps group code.


Without more context, it's hard to say. They may be attempting to restrict the scope of certain variables. I don't know PHP's scoping rules specifically, but they may be trying to ensure that variables modified inside that switch statement don't affect things outside of the block. Or, they may be using a RAII pattern.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »