• 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.
  • Posts

    • No, this is what Powertoys Run is aiming to be but is still only about a quarter of the way there. Tho with Raycast having a thriving third-party extensions store, don't think Powertoys Run will ever be able to catch up.
    • If you look at all RAID implementations that exist, you're going to find exceptions. However, all the modern consumer varieties tend to have some things in common (by default). I'll stick to describing those. When you add a disk to a RAID array, metadata is stored at the end of the disk. It records the array the disk is part of, which other disks are in the array, etc. This is called the RAID superblock. If you create a RAID 1 array, your operating system will see them all as a single disk that is very slightly smaller than a single disk (due to the superblock). Everything you write to the RAID disk gets written identically to each of its member disks by the storage controller. Technically, disks are read/written in blocks (each block is multiple sectors in size), but this is all transparent to the user. Every file you create or change or delete is created/changed/deleted on every member disk simultaneously. This is true whether you have 2 disks in the array or more than 2.  If one disk completely fails, you can still operate just fine off the remaining disk(s) (but see the caution below). If you remove one disk and attach it to another PC, it should work fine. The partition information and everything is all at the front of the disk, just as expected. The superblock will just appear as some extra junk at the very end of the disk, outside any partition. In some scenarios, where it is recognized as a RAID member disk from another PC, there might be an extra step before it will let you use it, but it's all very doable. Caution:  Blocks are read from the disks in a staggered fashion. For example, with 2 disks, all the odd blocks are read from one disk and all the even blocks are read from the other. By working together like this, read speeds can be practically doubled. But this comes with a huge drawback. If a disk doesn't fail completely, but instead develops bad sectors, you may not realize it. The bad sectors may happen to be in blocks that are never read on that disk. In some cases, people have had bad sectors develop on one disk, then had the other disk fail, and only then realized that the remaining disk has bad sectors and corrupt data. Every backup method has its pros and cons. Never trust just RAID, or just an external HDD, or just the cloud. Use multiple methods to backup important data.
    • Evidence that it affects "most" people negatively? Based on what? The fact that their are millions of users in fact show me the opposite, that "most" are quite happy.
  • Recent Achievements

    • Conversation Starter
      Kavin25 earned a badge
      Conversation Starter
    • One Month Later
      Leonard grant earned a badge
      One Month Later
    • Week One Done
      pcdoctorsnet earned a badge
      Week One Done
    • Rising Star
      Phillip0web went up a rank
      Rising Star
    • One Month Later
      Epaminombas earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      537
    2. 2
      ATLien_0
      205
    3. 3
      +FloatingFatMan
      167
    4. 4
      Michael Scrip
      151
    5. 5
      Som
      127
  • Tell a friend

    Love Neowin? Tell a friend!