Revision as of 12:27, 9 August 2010

PHP in NB 6.10

Version: draft 0.0.1

Disclaimer: The content of this NetBeans development wiki page is
intended for pre-planning purposes ONLY. The development, release, and
timing of any feature or functionality described here should not be
treated as final, and is subject to change at any time at the sole
discretion of Oracle. For information about NetBeans software releases
please visit the NetBeans Roadmap or the NetBeans Release Planning wiki.

Contents

The NetBeans PHP support is popular and obtains many users. It's the support that attracts many new people that are switching from other IDEs. The features in the release NetBeans 6.9.Next will be mainly targeted to improve productivity of the IDE.

Editor

ID

Priority

Task Description

Details

Link

1.1

P2

Bracket matcher refactoring

The current bracket matcher is based on the indentation of the source code. This doesn't work when the code is not indented according our rules. There are bugs that it will be solved by this.

1.2

P3

Code sniffer

Support checking coding standards.

Each configuration of a standard should be defined in separate configuration file. There should be possible to add its own coding standard whereas a few predefined standards(how to write PHP code) should be delivered with Netbeans PHP. These predefined configurations could be taken from PHP Code Sniffer(called: MySource, PEAR, PHPCS, Squiz and Zend), which seems to be de facto standards.

1.3

P3

Formating/Indentation improvements, stabilization

In NB 6.9 there is a new formatter. There are some bugs mainly in formatting PHP inside HTML files. The same applies for indentation.

1.4

P3

Model stabilization, improvements

Model is heavily used inside PHP editor and should prepared to be useful for framework support developers

document it

stabilize implementation

provide needed changes to support Cake PHP and other similar frameworks.

1.5

P3

Type Inference improvements (Framework support)

Model API/impl. needs to be improved to be able to resolve types for supporting frameworks like Zend that adds properties to interfaces. Will improve quality of code completion, goto declaration, mark occurences, find usages ...

1.6

P3

Declarative Extension of Editor Features

Obviously editor cannot support all extensions for the PHP language, all frameworks

User should be able at least to extend:

code completion for individual contexts

add signatures for extensions

1.7

P3

Refactorings

Implements some refactoring that are missing

Deliver Rename Refactoring and other Refactorings like Extract to method ...

PHP 5.3 brought many features that were not fully supported in 6.8 and still are not supported in 6.9. Phar,namespace view (analogy of package view in java) should appear in PHP project plan, but also additional editor improvemnts

Improve mark occurences, goto declaration, find usages for cases when the same class/function/constant names from different namespaces are used inside one file

additional contexts for Code completion like the one for anonymous/closures functions

Inspect hierarchy is the same functionality like in java editor, where user can see the class hierarchy and also can inspect members. In navigater there should be implemented functionality for displaying methods and fields from parents and implements other functionality that is provided by navigator for java source files.

The current implementation provide spell checking only in html part of PHP files. The spell checking should be also provided in PHP comments.

Project

ID

Priority

Task Description

Details

Link

2.1

P2

Generating PHP Doc This is one of the missing features that could be coverd in the release.

Generate PHP documentation from PHP comments in the source files. It's similar to the generating JavaDoc for java source files. The PHP support will use the PHP documentation generater available in PEAR (similarly as for PHPUnit, for example).

PHP Frameworks

ID

Priority

Task Description

Details

Link

3.1

P3

CakePHP framework support

One of the most used PHP framework these days should have the similar support as Symfony or Zend Framework have in NB 6.9.