This page is for all NetBeans users who would like to deliver support for a new PHP framework to the NetBeans IDE.
This page should hopefully provide all the information one would need in order to start working on his/her own support for his/her favorite PHP framework in NetBeans. There are 2 possibilities where to setup your project: 1) NetBeans contrib repository or 2) somewhere else (Kenai, Google Code - nbgit is one example, Launchpad, Source Forge etc.).
Probably a better choice would be number 2). Why? Because with 1) you won't get any web page, rss, you would need to keep your project always compilable and so on. Contrib repository is meant for modules that could be part of NetBeans standard distribution (but this could happen even if your project is hosted somewhere else, if it is good enough we can cooperate and integrate it into NetBeans if you and we would be happy with it).
So, and how to start? Well, you will need to know something about NetBeans itself and how to develop a plugin for it - have a look at our NB Developer FAQ. Here you should be able to find any relevant information but of course, let us know (firstname.lastname@example.org) if anything is not clear to you or simply if it seems to be complicated, for example. Of course, netbeans.org is a good source of different tutorials as well. Please notice that it is not necessary to read all the FAQ - it is just source of answers for possible questions. The same applies for netbeans.org - one or two tutorials how to develop a plugin for NetBeans could be enough.
Now, you have 2 possibilities to develop your plugin against:
- the latest stable version of NetBeans, or
- the current sources of NetBeans.
Of course, the first option is strongly preferred. On the other hand, it can easily happen that you need some functionality which is not available in the stable version so you will need to switch to the second option (after the functionality is added to NetBeans, of course).
Let's move to the framework support itself - in fact, you will be working on another PHP framework support. But before you start, it is always a good idea to have sources for the NetBeans version you have chosen (as said before, the current stable version is preferred) - just go to the download page and choose netbeans-*-src.zip. If you prefer the development version of NetBeans, you can get sources from the NetBeans repository, using Mercurial (don't be surprised, NetBeans is quite a huge project). Attach the sources to your NetBeans IDE (Tools > NetBeans Platforms > Sources If the option doesn't show up you have to active the Netbeans Module Development module first) and probably the easiest way is to have a look at a module which already provides support for PHP framework, e.g. php.symfony or php.zend (they are very similar). You will perhaps find out that the common part of framework support is in php.api.phpmodule module - both framework supports depend on it and you are going to depend on it as well. This module is well documented but currently, it has no public API but it's not a big problem - you can add an implementation dependency for now (public API is on our TODO list). Then, in NetBeans, you can create a new module (preferably php.<framework>) and inspect what NetBeans generated for you, compare layer.xml files etc. Of course, if there's something missing in the php.api.phpmodule module (this can easily happen), let us know (email@example.com) and we can discuss it.
This should be enough for the beginning, good luck!