NEON – Zend Studio for Eclipse

Date October 27, 2007

A couple of days ago Zend announced the beta version of NEON, the Zend Studio for Eclipse, based on PDT. NEON is now a rich featured IDE for PHP developers, which supports the full development life cycle. I will cover now the most interesting parts of it, which ones could be useful for PHP developers, but NEON has a lot of more advanced features (like web service editor) which ones I will cover in later blog entries.

Code Assist

While in PHP you can not specify the type of the function’s return variable, if you use a factory to instantiate a class, the editor has no information about the type of the variable, so the code assist won’t work. Fortunately you can help the editor to find out the type of the variable by specifying it as meta data. You have two options to achieve this:

  • Function’s DocBlock comment:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    /**
    * @return Foo
    */

    function getFooInstance() {
        return new Foo();
    }

    class Foo {
        function baz() {
        }
    }

    $foo = getFooInstance();
    $foo-> // baz will apear in the selection list
  • Class type hint:
    1
    2
    3
    
    $foo = getFooInstance();
    /* @var $foo Foo */
    $foo-> // baz will apear in the selection list

NEON supports code assist at include statements too.

Code Formatter

At last NEON has a great code formatter functionality. You can fully customize (even on project basis) how your code should be appear. You can set it up suitably to your own coding standards, and then any time you press Ctrl+Shift+F, NEON will render the code according to it. It could be very handy, if you have to edit or copy-paste third party code.

Debugging

NEON has great debugging capabilities with a full featured debugger. You have all the possibilities like in PDT, but NEON could install a toolbar to your browser, with which you can start easily debugging your application. If you are familiar with Zend Studio you know this could be very useful, for example before posting a form you can set “debug next page”. Unfortunately NEON currently not supports XDebug only Zend Debugger.

More wizards

NEON supports more wizards for creating new PHP elements: class, interface, unit test, unit test case, and has built-in support creating Zend Framework related elements (controller, view, model etc.).

Refactoring

Refactoring a PHP application was earlier a tedious task, in PHPEclipse or PDT you could only rename local variables. NEON has some new refactoring possibilities. You can rename, move your PHP files, and all the references for them will be automatically updated. It can help you organizing include files, for example it can collect possibly unused include statement and you can easily remove theme, or it can offer missing include statements.

You can also rename all PHP elements: classes, interfaces, functions, methods, and the references for theme will be updated too. You have the possibility to preview these updates. With these functions refactoring will be more easier, maybe more PHP developers will pay attention to this very important area.

Profiling

With NEON you can profile your application very easily. After profiling you can see overall information, detailed information about the running time of different files, execution statistics, execution flow.

NEON can provide code coverage information too, which can be very useful, when you try to find out how to organize your files (if some parts of your code need almost every time, it could be a good idea to put them in to one file, this way you can save some includes).

Unit testing

NEON supports generating unit test skeletons. You should choose the file with the class you want to test, and NEON generates a unit test for the given class. In the generated test class there will be an empty test method for all the public methods of the tested class, you should only fill theme.

NEON can run your tests and generates a visual report from theme, and additionally provide detailed code coverage information which could be very-very useful. NEON supports the PHPUnit developed by Sebastian Bergmann

Code analyzer

NEON can analyze your code and can find problematic parts (for example unreachable code). It can help developers to use good coding practices by giving theme suggestions about their code. This could be very useful even if you are an experienced developer: you can see immediately if you misspelled a variable name, or you left a global keyword (okey I know, you never use this latter ;) ).

Settings

NEON provide more settings than PDT, you can set up for example the coding standards related to your project, and a lot more other things related to the lot of features.

I think Eclipse is in default a very good developer tool, so it was a good decision from Zend to build the next generation PHP IDE on top of it (consider that Eclipse has a great plug in architecture). NEON is already a very powerful tool, Zend did a great job about it, and I believe there are a lot of potential in it too.

2 Responses to “NEON – Zend Studio for Eclipse”

  1. php webmaster said:

    zend studio is really a good IDE and maybe the best ! but integrating it to eclipse is not a good choice, because he will consume more and more memory (the big problem with java)
    and by the way, why they dont use Xdebug ? because there is a zend debugger ! and this is a bad decision from zend devellopers.

    finally, i hope this IDE become more “open”

  2. Felho said:

    @php webmaster: zend studio is written in java too. In PDT there was xdebug support, I hope that there will be in NEON too.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>