Frank wrote:

For starters, just because GNU says something is what should be done
doesn't mean it's the right way.  They don't believe software should be
licensed in particular ways, and I happen to believe it's up to the 
developer(s) of a package to decide that.

Second, *HOW MANY* PHP statements can be followed by a { ?

I can think of three

if (foo) {
function foo () {
class foo {

Maybe there's one more that I'm missing, but it seems pretty darn
obvious to me that if I write

if (foo) {
    if (bar) {
       echo "bar";

that when I see a } I can immediately trace it back up to the 
corresponding column and see the keyword "IF".  The indentation still 
keeps things in order.

Guess what other benefit *I* derive from this?  I can see more lines
on the screen at the same time.  Sorry - I usually always see ~35.
What I'm seeing are more *useful* lines of PHP code, not extra line 
breaks intended to satisfy some GNU standards definer.

Personally, I enjoy being able to see more useful code than line breaks, 
and I am intelligent enough to be able, using intelligently indented 
code, to follow a } up the the statement which opened the { on the same 

"As teacher I know from experience that programmers has a harder time 
tracking their own block with a number of "{"s dancing far out of sight 
in the right side of the screen."

Maybe they should be breaking up their IF logic into multiple lines
(PHP's OK with whitespace issues) so that things aren't 'dancing' off 
the right side of the screen.

if ($myvarirable1*myvariable2 >= myvariable3*myvariable4+114)  {

The only people I've come across that like to use this oneStatement
trick are smart enough not to type { in the first place.  Myself, I
never use that oneStatement style, and always put a { and matching } 
immediately below it when coding.  Then I go back and put the logic
between the { and } markers.

"> Why, then, are functions not written as
 > function foo(parameter1, foo(parameter1, parameter2, ... parameterN) {
 >  statements
 >  ...
 > }
 > "

We write our functions like that.  It seems many user comments
in the PHP manual use the same style, as do many of
the code snippets and samples on Zend.

Trying to base if block {} usage on the supposed uniformity of
function block {} usage doesn't hold much weight.  :(

"I have yet to see anybody write

if expression begin

I'm not sure if you're trolling, or just don't go back very far in 
computers, or what...

BASIC seemed to be full of this stuff, and it made a decent
name for itself as a computer language.  Example:
(note carefully the placement of "IF" and "THEN" and "END IF")

FOR i% = 1 TO 10
   IF yourScore% >= playerscore%(i%) THEN
     FOR ii% = 10 TO i% + 1 STEP -1      'Go backwards (i% < 10)
       playername$(ii%) = playername$(ii% - 1)
       playerscore%(ii%) = playerscore%(ii% - 1)
     NEXT ii%
     PRINT "Congratulations! You have made the top 10!"
     INPUT "What is your name? ", yourName$
     playername$(i%) = yourName$
     playerscore%(i%) = yourScore%

(taken shamlessly from as I can't 
remeber much BASIC these days!)

"As an amusing result of the weird practice it has been necessary to
recommend a standard where the { }-pair is always used, even though
there is only one statement following an if:"

I don't find it amusing that, as a programming standard,
one is encouraged to *ALWAYS* use { and }, regardless of if there's
only oneStatement (see above).  We teach PHP courses, and trying
to explain to people that, "well, sometimes you can use { } blocks
but you don't always need them" is just confusing as all get out
to people just starting out with the language.  Giving them a
standard "use {} blocks" makes more sense to them and us.

BTW, in the classes, we do show both

if (foo) {
   echo "foo";


if (foo)
    echo "foo";

styles.  I'd say about 60% or so wind up using option one, even though
option 2 is presented more, and the examples generally use style 2.

"We can only hope that some major standard-setters for PHP should make a
rational decision about what standard to choose and not just keep "what
we are used to" for the disadvantage of future generations of programmers."

What if there IS a forthcoming 'rational decision' about {} usage from
all the core PHP team, and they choose the way you don't like?  Should
they codify the parser to not work with certain styles?  Why must
there be some magical consensus on something which, ime, doesn't have
as much impact on the language as ISAPI support, or better object 
handling, or stronger memory handling, or a myriad of other topics?

Michael Kimsal

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to