if..endif syntax

The `alternative' way to write if/elseif/else statements, using if(); elseif(); else; endif; cannot be efficiently implemented without adding a large amount of complexity to the 3.0 parser. Because of this, the syntax has been changed:

Example A-5. Migration: old if..endif syntax

  1 
  2 if ($foo);
  3     echo "yep\n";
  4 elseif ($bar);
  5     echo "almost\n";
  6 else;
  7     echo "nope\n";
  8 endif;
  9 

Example A-6. Migration: new if..endif syntax

  1 
  2 if ($foo):
  3     echo "yep\n";
  4 elseif ($bar):
  5     echo "almost\n";
  6 else:
  7     echo "nope\n";
  8 endif;
  9 
Notice that the semicolons have been replaced by colons in all statements but the one terminating the expression (endif).