Evaluating of Symfony support

I have started to work on the Symfony support. In this time I'm evaluating, what we will be able to implement, how the support should be done, and what will offer to the developers. 

Question for Symfony developers: Which productivity features should be a part of such support? I need to know the usecase, when you need a feature, understand the workflow etc. I hope that information from you help me to design useful support.

Is there any tool which support developing PHP applications based on Symfony framework?

Comments:

Hi. I use a textmate bundle to help me on the development in symfony. Its a great help to quick coding. Some of the things are deprecated but always help.

You can take a look at http://trac.symfony-project.org/wiki/SymfonyTextMateBundle

Will be a great thing if we can run the symfony tasks directly on netbeans in GUI mode.

Good luck.

Posted by Rui Silva on November 26, 2008 at 05:18 AM CET #

"Symfoclipse is a plugin for the Eclipse platform that ease the development process of web applications using the Symfony framework."

http://noy.cc/symfoclipse/index.html

I have never used it because it is outdated...

I agree with Rui, it would be good if tasks could be run from the GUI - perhaps a project dropdown menu. Is there any plans to give Netbeans a terminal console?

-Kevin

Posted by Kevin on November 26, 2008 at 05:53 AM CET #

It's funny, I develop symfony projects with Netbeans currently and keep thinking it would be great if Netbeans had symfony support but I can't think of much that could be added... any major code generation symfony has already taken care of.

Possible enhancements:
- palette for symfony helpers
- perhaps some sort of admin generator GUI
- a form generation GUI (create validators etc) (symfony v1.1+)
- maybe it is just me but I wish I could auto-generate actions/templates/partials/component (files) via the symfony CLI...

-Kevin

Posted by Kevin on November 26, 2008 at 06:07 AM CET #

I would like to have some kind of navigator to find actions/components/partials/views etc.

Also, would be great (but propably hard to implement) quickly to jump from action to view and vice versa?

Posted by Michal on November 26, 2008 at 06:14 AM CET #

\*Also, it would be great (but probably hard to implement) to quickly jump from action to view and vice versa.

Posted by Michal on November 26, 2008 at 06:16 AM CET #

It would be great to include unit testing support with lime(http://trac.symfony-project.org/browser/tools/lime). Also, ouput coloring for scripts running from command line would be nice (lime colours it's output but netbeans doesn't show those colours).

Posted by Leszczu on November 26, 2008 at 07:55 AM CET #

Hi, take a look on this video:
http://www.aptana.tv/movies/aptana_radrails_intro/aptana_radrails_intro.html

most of that generators and functions are in symfony, so will be nice have something like that.

Posted by lucas stephanou on November 26, 2008 at 10:50 AM CET #

And, the debugger as well :-)

Posted by Eus on November 26, 2008 at 06:55 PM CET #

I haven't worked with netbeans before, so I can't say much about it. But I have started to develop a symfony plugin for eclipse. (A replacement of symfoclipse) So I already have thought about some points.

I would suggest to include wizards for project configuration, so you don't have to work with yml-files directly. For example you could implement a nice frontend to configure database connection.

greets
Sven

Posted by cokker on November 27, 2008 at 12:51 AM CET #

It would be nice to be able to quickly switch from actions -> templates , aswell as from actions -> functional tests .

There is a basic vim plugin which achieves some of this here:

http://trac.symfony-project.org/wiki/VimPlugin

Posted by JamieL on November 27, 2008 at 02:05 AM CET #

I would like to see integration of the symfony CLI for a project into the IDE, so that you could easily generate modules, build your models, clear your cache and/or execute your own custom tasks from the IDE.

Posted by Stefan Koopmanschap on November 27, 2008 at 02:29 AM CET #

If you take a look at my feature request for Aptana on code completion/intellisense you'll see what I'd love to have in NetBeans.

http://support.aptana.com/asap/browse/PHP-343

Taking a look at Aptana's PHP support would likely prove fruitful also.

More to come,

Steve Daniels

Posted by Steve Daniels on November 27, 2008 at 03:27 AM CET #

It would be nice to be able to use a wizard project: making a project with and without sandbox, setup a database configuration, install/include plugins,

May be.. I like the idea of wizard for modules, forms and class (yes visual designer for class, and generate code yml)

Posted by Sergio F. Vier on November 27, 2008 at 03:47 AM CET #

Thanks to all for the comments. I need to go through and evaluate them. Still you can write your suggestions.

Thanks very much,
Petr

Posted by Petr on November 27, 2008 at 05:53 AM CET #

I really started to like NetBeans when I began programming for JavaME (even though I dont understand why u still dont offer MacOSX support). What is important for a quick start in both Symfony and NetBeans:

+ SyntaxHighlighting and CodeCompletion for Symfony
+ Deploymentfunctionality (with both FTP and WebDav)
+ VisualDebugging maybe by taking over the integrated debugging facillities?

Posted by patlecat on November 27, 2008 at 06:19 AM CET #

It would be nice to have some sort of GUI for the deployment part. Be able to setup differente deploy servers, and manage the exclusions. Also to be able to make the actual deploy from the GUI. Support for GUI based of custom tasks is also a nice thing to have.

Another nice thing would be to create some templates for new validators, functional tests and yaml configuration files like security, view, etc.

Some routing GUI would help as well.

I Hope theses suggestions get into the project.

Posted by Ivan Rey on November 27, 2008 at 07:26 AM CET #

- Exclude the cache folder from the project in Netbeans.

- Have a drop down or a palette for the symfony's tasks

- Validating YML

- Having access to the documentation (Api, sfBook) directly from netbeans

Posted by Dreur on November 27, 2008 at 08:14 AM CET #

Hi,

I've started to work with symfony six months ago. I looked for some confortable IDE and I finally choosed Eclipse. It doesn't have all the features required, but covers some of the most vital. PDT gives a good perspective of your objects' architecture, have SVN integration and some other plugins that can be helpfull (Symfony plugin can improve your way of working but doesn't have support to the new Symfony versions).

I don't know Netbeans so I'm sure I can't know were you are, but I think I start to know the worse lacks of Eclipse. When I look for an IDE I spect some kind of integration with the stuff I'm working on. Eclipse gives you good tools to work with PHP as I supose NetBeans do. But as a framework Symfony has some features that I think are forgoten in Eclipse:

- Tasks integration I think this should be must have point since symfony tasks are basic to develop any project in symfony. Besides it should handle new tasks implemented like all coming from plugins or the ones in your lib directory.

- Hight integration with the MVC pattern

Model as base of any project it's composed by one or more yml schemas them are in fact the first prototype of my application. I should can check my schema logic despite the decoupling between the subschemas.

The Controller Layer it's rich of features that can modify the behaviour of the application like the environment selection wich makes you change a bunch of parameters in your configuration, the action extension architecture(complex behaviour due action forward), the session system or the filter system. Hight integration can be considering different environments from the yml and their configurations their inheritance in project/application/module/action pattern.

In the view layer it could be very usefull a friendly interface for helpers . Code fragments like partials and slots components should have a clear look interface to have a good sight of your posible renders.

Maybe should be smart enought for autocomplete depending of the layer where you are developing
(the models are in lib, the actions in actions folder and the views on a template folder).

-Form System: Form System transform the way of working since my forms can be extended binding them and rendering with some extended method.
It's important to handle form system like it deserves. It have a foot on each of the MVC layers. In the model as a class to be extended, in the controller as an object to be validated and give a possible behaviour and at the view.

I read some interesting points:
- Task Executing
- Action/View Action/Test Switch
- Helpers Palette
- Generator system

I like all of them.

I hope my little experience and my poor english could be somehow usefull.

Posted by Josep on November 27, 2008 at 08:17 AM CET #

Is there any helpers for YAML ?

Posted by bdd on November 27, 2008 at 09:01 AM CET #

Hi, please check for a paper that I did with a friend, here: http://users.seegno.com/tlr/docs/sfPlayground.pdf
It has some ideas on how to improve the development within symfony.

Regards

Posted by Tiago Ribeiro on November 27, 2008 at 09:38 AM CET #

I will list some features that symfony developer REALY needs.

- quick access to application configuration files like routing, settings, app. The best idea is to push config files to toolbar. Developer shouldn't look for the whole project to add a new value to it. It's easy to make it, so please, that would be very helpful

- Symfony can have several apps in one project. We can have similar named files in both apps. The idea is to highlight with one color all editor tabs for one applications. So we can visually ditinguish to which application it belongs.

- Continue with distinguishing. All controllers in symfony are named action.class.php. It's better to show somehow in tabs or where it's possible to which module this controller belongs to. The same for templates and configs. When I have 5 generator.yml tabs, I need to know which module they blong to.

- Also bundled into IDE Symfony book would be a great feature :)

Posted by Davert on November 27, 2008 at 02:35 PM CET #

Some feature that need deep Symfony integration, but would be very useful:

- sfConfig integration. When we use sfConfig::get($key) IDE searches for default configuration value for this $key. It's not hard to implement - just to scan all configuration values in project.

- support for filters and factories.yml. In this files we set what classes should be used in our application. I.e. there we can set a speciefic Request class, User class or others. If IDE could handle this values and do an autocomplitions for them.

- view and highlight symfony logs. Very often we need to view development logs. So it's a great idea to move them to toolbar (with configuration files) and to quickly to show them. Also some highlisting to text there needed. And separate log by requests.

- Symfony test environment.

- A tool to manage project plugins. Add/Delete/Set configuration values. I suppose every project have at least one plugin so the feature would be very useful.

- Some preinstalled intellisense patterns for controller/model/template. In controller we always access request variables, so it would be great to write 'parm' or something like this,and recieve a $this->getRequestParameter(). As I mentioned all intellisense patterns should be divided to 3 categories and used only in proper files.

Posted by Davert on November 27, 2008 at 02:50 PM CET #

I an currently using Eclipse too on Windows.
- One thing I like is the wicked shell plugin:
http://www.wickedshell.net/
It really improves on windows shell.
I don't think you need to integrate the tasks more than that.

- One thing I think could be better is the intellisense feature that does not always work for a dynamic languages.
For example, the fields in a Doctrine model can be accessed as properties even though they are not declared as properties, thus not showing in the the intellisense. Too bad as it one case we use a lot. I guess the intellisense system could look for properties a different way when it knows the object inherits from Doctrine_Record.

Posted by J. Philip on November 27, 2008 at 02:51 PM CET #

NetBeans can help the developpers with basic tools like autocompletion.

But the must have would be an intelligent MVC integration to help the uses of :
- MVC Form and Widgets
- YAML Editor (with easy builder for many to many relations etc)
- a rapid buttons to add helpers
- an export task customizable to deploy easily on a webserver
And a great access to the functions API because there are a lot of things to find .

And why not an access to community tools to find easyly sinppets on the rss of symfony-project.org

A button to create easily the files needed to basic plugin creation.

Netbeans is great for java, i hope it will be a must have for symfony.

Posted by arno on November 27, 2008 at 04:19 PM CET #

I don't know if there is already something like Aptana's TailView (a little panel with tail -f on the log file you want, coloring text lines based on custom rules, etc.).

Posted by mppfiles on November 27, 2008 at 05:27 PM CET #

I would be nice if when you create an action, netbeens automatically ask the user for creating the template for this action, also I was thinking and is very common to refactor code and create new partials, so I would be nice if user could select some code and execute some command to move the code to a partial (implies creating the new file) and create the corresponding include_partial() code.
And If netbeens can understand the include_partial keyword so you can go directly to the file or better to edite in that place the partialc code.
And last I can think that netbeens could understand what variables where defined in the action, so you can autocomplete that in the template.
Thank you for taking in count my humble oppinion and everyone's also.

Posted by Leonardo Diaz on November 27, 2008 at 06:52 PM CET #

Interate sfActions class with routing.yml
When I write in my action something like
$this->redirect()
I wanna to see autocompletion with available routes from routing.yml

Posted by Enlightened on November 27, 2008 at 08:27 PM CET #

I'm using textmate right now as my favourite editor. It's works, is easy, but my day2day trouble is the large amount of open files. Symfony often needs 10+ files to be edited at a time, it would be nice to create contextual links within the files. The MVC pattern makes it possible to my opinion, as for example in the actions.php each action is associated with a view. A small link could be rendered to directly open the view template.

One quick win would be to make it easy to distinguish between models, all models have an action.class.php file, so if the editor uses filename-based-tabs then you can't distinguish between them. Assigning colors to models could be a solution.

Even better would be to enable nested editing. I've never seen an IDE doing that, but it breaks the barrier of single files. Main idea is that you are editing in views of your files and not the full files. In that case it would be possible to display the view template as a nested (collapsible) window _inside_ the actions.php controller.
This idea can be taken further to display class inheritance. Each class now has its own file in symfony, thus you can only view it's own implementation, for inheritance you have to switch files. Why not lookup all inherited methods and show these methods in the editor, using grey text to distinguish it from the 'child' code from the class? One parameter for this view is the depth of super-class traversing. Only display this file == depth = 0, this file and it's first superclass == depth = 1 and so on.

Posted by Sjoerd de Jong on November 28, 2008 at 02:17 AM CET #

A killer feature for me whould be concerning factories.yml for code completion. I think code completion is one of the most important things an IDE can provide.

Example:

when i'am in an action context $this->getUser() retrieves the current User instance defined in factories.yml. Eclipse now only provides the methods sfUser has, which is not the one defined in factories.yml.

This is also important for routing.yml to auto complete routes by typing

<? echo link_to('some name, '<routes autocomplete here>

in an template and showing parameters for them.

Eclipse provides code templates, but it's not possible to do further actions like creating a file.

Example for this:

I could imagine when i use a template for building an action (say executeMyAction(sfWebRequest $request) in a specific actions.class.php file, also the accoring template file could be generated (myActionSuccess.php)

It would also be great to have completion or at least syntax highlighting in yml files

with this features, netbeans would be the only IDE for developing symfony in my opinion

Posted by Christoph Hautzinger on November 28, 2008 at 02:56 AM CET #

Code completion for the schema.yml files would be great! For Doctrine and Propel syntax.

+1 for Lime-Support from the IDE
+1 for a shell window like WickedShell for eclipse
+1 for shortcut switching between action and template

Posted by Timo Haberkern on November 28, 2008 at 05:15 AM CET #

- Access to common symfony cli tasks using GUI
- As already mentioned, there are dozens of files named action.class.php or indexSuccess.php - one for each module. A way to distinguish between these would speed up development a LOT.
- Quick access to project configuration settings

Posted by J R on November 29, 2008 at 09:28 AM CET #

There is any possibility of joomla support in netbeans

Posted by ashiwebi on December 02, 2008 at 02:51 AM CET #

Though the frameworks are popular but I think CMS are also popular for the development.

It gives easy and fast way of php based websites.

I also love to know about the support for joomla and drupal.

Posted by ashiwebi on December 02, 2008 at 03:00 AM CET #

Hi!

I tried to use Netbeans PHP IDE earlier, but it wasn't good for me. I'm working on bigger projects in symfony. The whole code of them are sometimes greater than 90Mb. The code isn't on my local machine. It is on a server, and I use SSH and Sftpdrive to edit the code. The main problem with Netbeans was the code completion. The whole bandwidth was used to read the project's code, and I could not work during it. Zend Studio can do this building at the back, and I can work during the building. But in Zend Studio for Eclipse, Eclipse PHP and Netbeans PHP I cannot use this function correctly.

Posted by Lugosi Gabor on December 03, 2008 at 04:51 AM CET #

Hi again,

an outline view for YAML would be great too (especally for schema files)

Timo

Posted by Timo Haberkern on December 03, 2008 at 07:33 AM CET #

I will give you a few points that you can analyze, quickly:

=> Code Completation for all classes and objects of symfony core, and their methods too deep,
has some problems in PDT + Eclipse.

=> Make it easy to work as possible , doing many tasks with a single click. ((as create a new project, from the tree explorer))

=> include a visual debugging \*\*this very important\*
see: http://www.xdebug.org/

think about

Posted by yaiself on December 07, 2008 at 02:17 AM CET #

Integrated cli like wickedshell of eclipse.
This way we dont have to open command prompt.

This should be placed alongside the tasks window.

The theme must be configurable.

Posted by ken marfilla on December 09, 2008 at 03:28 AM CET #

Estoy trabajando con Symfony y netbeans 6.5 la verdad me gustaria que el gui me generara las clases de persistencia, como lo hace con hibernate en el caso de java, ademas que la coneccion la realizara automatica esto ahorraria enrmemente el trabajo. Sorry but my inglish it's not good

Posted by Gregorio Escalona on December 17, 2008 at 06:17 AM CET #

Hi Gregorio,

thanks for th comment. Unfortunately I'm not able to translate it.

Could some one translate Gregorio's comment for me?

Thanks,
Petr

Posted by Petr on December 17, 2008 at 04:15 PM CET #

Google translate (Spanish -> English):

>>>
I am working with Symfony and netbeans 6.5 truth, I like to me that the gui generate the kinds of persistence, as he does with hibernate in the case of java, in addition to the connection will automatically This would save the enrmemente work.
<<<

Sounds like he wants the ORM features to have a GUI setup in the IDE so that the data mapping plumbing is more automated.

- Jim

Posted by Jim on December 21, 2008 at 03:25 AM CET #

Thanks to Jim for the translation.

Posted by Petr on December 22, 2008 at 10:56 AM CET #

Just playing around with the Rails project in Netbeans. A lot of these features could apply to symfony projects...

Kevin

Posted by Kevin on January 14, 2009 at 09:55 AM CET #

One problem for me with symfony is to find a file to open it :

the directory structure is very complex, and you can get lost easily.

My request is the following (and it is fairly simple to implement I think) : bind a keyboard shortcut an event that shows a particular folder in the browser.

i.e. : ctrl-1 shows/focus the project's lib/model/doctrine folder in a single keystroke. Also, it would be ideal to make the choice of those folders configurable.

That would ease my job a lot !

Posted by jukea on January 18, 2009 at 08:55 PM CET #

Hi everybody!
These are my sugestions:
As said by many comments, the integration must firstly cover all tasks that are currently available from cli.
Second: I would not focus on autocompletion but visual sugestions. I think user´s experience is better when things are visually helpful.
-Sorry for my English...

Posted by dlnieves on February 19, 2009 at 06:52 PM CET #

I'd like to have ability to use php in YAML files - at this time php code is treated as error

Posted by andy on March 01, 2009 at 04:20 PM CET #

I'm programming in symfony and I use netbeans and see some impediments.

1) When creating template I can't see variables passed to template from action. For example it would be nice if I write in action $this->form = new sfForm(); to see $form variable in template also with type preservation.

2) When writing anywhere the code: sfContext::getInstance() I do not get prompt but when I save it in variable like this: $c = sfContext::getInstance(). And now writing $c-> I get prompt. So I think it is kind of error in netbeans.

3) It would be nice to connect Forms with the Model layer. For example if in form class I write this code: $this->widgetSchema[' it would be nice to have prompt which fields are in model that response to this form. For instance in UserForm class I would like to have information about fields in User class model.

4) When overriding some parent's methods for example doSave() in Forms it would be nice to have prompt with comments that are placed in parent class before all overriding method by symfony creators.

5) And of course all the suggestions mentioned here.

Thx

Posted by Łukasz Jagodziński on October 03, 2009 at 05:52 AM CEST #

I been working with the symfony framework and using advanced text editors for make and edit the files, but now, with the support of NetBeans for symfony I think use it for the work. I don't know manage the project, the examples avaibles of "symfony in Netbeans" only show "How to create a new project" not "How work with a existing project"

Posted by Mario on February 05, 2010 at 07:45 AM CET #

I work a lot with the generator and thus the cache.
The directory "cache" being absent, I can not properly use the autocompletion.
It would be nice to have it rather choose to ignore or not the directory "cache".
Today, I am obliged to make a link to directory for it to appear in netbeans.
Thank

Posted by Phenix on February 11, 2010 at 06:11 AM CET #

Having the cache directory hidden is a real pain for certain Autocompletion, like when using the generators.

Posted by Robin Corps on March 01, 2010 at 05:47 AM CET #

It's hard to retrieve cache folder, hiding it doesn't give real advantages to who needs to check what is created, expecially when you use custom generators.

Also some other folders disappeared, like the folder test/unit

Posted by Mix on March 24, 2010 at 08:57 AM CET #

The code completion don't work sometime especially in the view templates

Posted by Em on September 04, 2010 at 01:18 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

This blogs is written by NetBeans developers who contribute to the PHP support mainly.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today