• 0

Dreamweaver lying about a syntax error


Question

Hi all,

I just wondered if someone knows how to disable a specific syntax error from appearing in Dreamweaver CS5.5, or otherwise how to 'upgrade' Dreamweaver's PHP syntax checker. My problem is:

  Quote
http://php.net/manua....comparison.php

The expression (expr1) ? (expr2) : (expr3) evaluates to expr2 if expr1 evaluates to TRUE, and expr3 if expr1 evaluates to FALSE.

Since PHP 5.3, it is possible to leave out the middle part of the ternary operator. Expression expr1 ?: expr3 returns expr1 if expr1 evaluates to TRUE, and expr3 otherwise.

post-176093-0-08206400-1325605014_thumb.

Running Help > Update shows that DW is up-to-date.

Thanks for any help :)

19 answers to this question

Recommended Posts

  • 0

Not too sure what you mean when you say 'cast to boolean', but thanks for the 2nd tip. Changed lines 16 & 17:

$admin = ($_SESSION['status'] == 3 ? true : false);
$loggedin = (count($_SESSION) ? true : false);

$admin = ($_SESSION['status'] == 3);
$loggedin = (count($_SESSION));

Never thought of doing that before, so cheers! :)

  • 0
  On 03/01/2012 at 15:56, AnthonySterling said:

You're using PHP 5.3 specific code, does Dreamweaver (or your version of) support this?

Evidently not, hence why I need to upgrade it to :p

Edit: Sorry, I should've said which version of Dreamweaver I'm using in the OP, but it's CS5.5. Edited to reflect.

  • 0

I think you'll have to use the dynamic code hinting feature in dreamweaver to get it to attempt to support 5.3 but to be honest when i started with PHP i soon wrote off Dreamweaver as an IDE and php support is very limited. I personally use Netbeans now, it is free and has much better support for PHP and has a tonne of features.

  • 0

To be honest with you, I used to whole-heartedly agree about DW being a horrible IDE for writing PHP, but it seems to have come a long way since the Adobe buyout, and I'm actually very impressed with CS5.5

Code hinting however is not the solution... all code hinting is, is this:

post-176093-0-04326700-1325607224.png

Edit: Actually it looks like CS5.5 adds support for PHP 5.3 for code hinting at least, so I don't know why not for syntax checking: click. Putting expr2 in the middle of the ternary makes the syntax error go away, but I don't wanna have to write "old-code".

  • 0

@giantpotato, I see what you're trying to say, but the boolean is expr1, thus my code of:

$uid = ($_SESSION['uid'] ?: false);

is correct.

@Anthony, I just took a look at the new features of PHP 5.3, and tried out Nowdoc - it validates syntactically correct:

$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;

Seems like it's a DW bug :(

  • 0

Just noticed jump label support was added into PHP 5.3 ( :|), and that also validates correctly:

goto a;

Also just tried a namespace, and that validates correctly too:

namespace foo;
  class Cat { 
    static function says() {echo 'meoow';}  }

So I guess it must be a bug!

  • 0

Both come back as invalid... with and without trailing semicolon.

Also, seems like Bugbase is only for AIR & Flash bugs, so reporting here instead.

Edit: Reported! Guess there's nothing more I can do, so I'll just have to put up with a ton of red markers all over my code :p

This topic is now closed to further replies.