Rephactor and Scisr both are automated refactor tools for PHP. Both are under development and provides same refactor functions. Can anyone tell me the exact difference in both tools?
I wrote Scisr, so perhaps I can offer some insight. The short answer is that they're simply different tools. They each have a subset of functionality, and you may find that both, one, or neither offer the exact functionality you wish for. Each one offers the set of features that the developer got around to implementing - i.e. somewhat incomplete.
The longer (and slightly more biased) answer is that they are philosophically different. Luckily, both tools offer little introductory blurbs that should give you a sense of what each developer set out to create. Here is Rephactor's and here is Scisr's.
I wrote Scisr after trying all the PHP refactoring tools I could find (including rephactor) and being dissatisfied with all of them. rephactor was definitely the most useful of all the tools I tried, but I thought it made too many demands - it wanted to hook into SVN, and testing tools, and all sorts of other stuff. These were all good processes to be following, but the need to integrate meant I couldn't pick the tool up and immediately use it on my project. So I set out to write a simpler, single-purpose tool, and Scisr was born.
IIRC I also looked at rephactor's source code and found it using regular expressions and other solutions I considered inadequate. I could be misremembering, though, so please forgive any untruth in that statement.
One other consideration should be product health. Unfortunately, both projects are more-or-less inactive. Scisr is more recently updated, and I'm still accepting pull requests, but I'm not actively working on it any more. Rephactor was last updated in 2009.
2019+ answer
Looks like both mentioned packages are dead since 2013. Yet the need to instant refactoring is still here, so I'd like to share 2019 alternative that is in active development with 200 downloads/day.
In 2017 I started a small project called Rector: https://github.com/rectorphp/rector
Rector can help you with anything that you do manually
Just out the box it supports:
Rename classes, methods, properties, namespaces, constants... anything :)
Add, replace or remove arguments
Add parameter or return type declarations without docblocks - just with static analysis
Upgrade from PHP 5.3 to PHP 7.4
Migrate from one PHP framework to another
Complete PHP 7.4 property type declarations
Turn Laravel static to Dependency Injection
...
It's a CLI tool, that is easy to use:
composer require rector/rector --dev
vendor/bin/rector process src --level code-quality
Read more in README
I've recently started using PHP for OO development. On OSX, I have outgrown Coda and feel like Textmate takes more time to set up than to actually use. I've downloaded a few of the "real" IDEs, but I feel like they are overkill and I can't find any way to ease myself into it and/or they are way too busy.
I'm looking for something that does code folding, validation, can colorize PHP/PDO/HTML in the same document, and hopefully do completion of my classes and methods that doesn't require 6 months to be productive again.
Can anyone throw me a bone?
Aptana
Eclipse PDT
Netbeans
Kate
Currently I'm using Aptana Beta 3 and there are a couple of bugs, but with the new IDE coming out in a couple of months it should be great. Been a avid Aptana user for a couple of years now.
NOTE: Aptana was Acquired by Appcelerator
I personally use netbeans 6.9.1 and have been very happy with it. Here are my favorite features:
-- functions, classes, comment blocks and other structures are automatically set up for code folding, but you can also highlight any block and make an arbitrary code fold.
-- syntax highlighting is good
-- full support for new php 5.3 features (namespaces etc.)
-- the autocomplete works, but also stays out of the way when I don't need it.
-- refactoring works really well
-- it has a lot of built in macros, plus you can create your own
-- it does nice, fast code validation.
-- completely supports xdebug through a local/remote web server.
-- has built in symfony support
-- tracks polymorphism well
-- I program a lot of c/c++ and java as well, so its really nice to get familiar with just one IDE.
-- it has seamless built in supprt for SVN/CVS and other SCMs. Things like renaming/deleting a file in the IDE play nice with your SCM. You can also commit, update, diff etc. in the ide. It also does live diff via colors on the left hand side.
-- I really like the scm diff features.
-- the learning curve isn't too steep, I feel the IDE's features/commands are pretty intuitive.
Overall I have been really happy with netbeans. I have used a lot of other IDE's and none of them are bad, but they just lack certain features that I need. netbeans is not perfect either, but for me its the best IDE I have been able to find. The things I don't really like about netbeans are:
-- everything has to be a project, you can't just work on some code without netbeans creating metadata. However, the location of the metadata storage is customizable, so it doesn't interfere with your source file directory structure.
-- profiling doesn't really work unless you install some weird solaris stuff.
-- it can't mount an svn+ssh working copy, you have to pull it down locally. if you want to use the SCM features.
-- it can be a little slow if you have a lot of large projects open at a time. You can close the projects so netbeans doesn't scan the source code continuously, and that helps. Re-opening a project isn't too slow or difficult either.
All in all, netbeans isn't really breaking any new ground, vim, eclise, phpide and others all do similar things. I just feel like those things work better in netbeans and are easier to access.
hth
I have to suggest vim despite potentially not meeting your last requirement: "doesn't require 6 months to be productive again".
Vim does everything you listed, but has a very steep learning curve. Not likely six months, but you will be fumbling around for a while. In the long run it you'll probably find it worthwhile.
I use Eclipse PDT on a regular basis, but have been thinking about checking out PhpStorm. It looks like it could be a nice alternative (albeit not free).
I suggest use of Nusphere php ide , its too great for php, it has auto complete features and in built server and you can debug run time, you can also set browser for debugging your code , its true php debugger, i am using this debugger since last 3 years ,it’s amazing and it has inbuilt ftp feature so you can also debug your ftp file.
I've been battling with several IDE's so far without much success, so I decided it would be ask someone wiser. I'd love one to have these features:
Fast code completion;
Completion for HTML (with tags and tags' content), CSS and, preferably, jQuery;
Debugger which can work with WampServer installation;
Completion for native PHP commands as well
Shortcut to go to a file in the current project/workspace (like Ctrl+Shift+O in Netbeans) --> What I meant here is that a shortcut to open a window, where you can type beginning of a file name and it will show you all matching files in project; so a way to navigate the project with keyboard only.
I have already tried some of IDE's:
Netbeans:
It is slow, really slow. The slowest IDE of them all I believe
Debugger had issues and overall I failed to make it work
You can barely customize auto-formatting (at least in the way I'd like to customize it) - you can either disable it or live with it
I am using it right now but strive to change it!
Eclipse PDT
Kinda slowish, though faster than Netbeans
There was no code hinting for native PHP commands #_#
After restarting IDE, the Debugger decided to stop adding ?X-DEBUGwhatever stuff to links and it stopped working as result
Subclipse didn't work!
Nusphere PHP Edit
Fast and shiny, good for my netbook, but there is no "Go to file" command
No JS hinting
Komodo and PHPDesigner 7 were disqualified for some reasons I can't really remember now but they were severe.
I tested a wide variety of IDE's but there is a real lot of them and pretty difficult to test them all, which is why I'd appreciate some input about one which fits all the above specified needs.
Consider vim. It's painful at first, but it does meet all of your requirements, unless you also have a (as of yet unspoken) requirement for a Graphical User Interface.
Fast Code Completion: Fastest I've ever encountered, C-x C-o
Yes, Yes, and Probably.
vim can use xdebug to get this functionality. How to set up on linux.
Yes.
:o supports tabbed completion even.
PHPStorm is a relatively new contender in the IDE scene by the people who make IDEA and Resharper. I can't say it's blazingly fast, but it's geared specifically toward PHP and has a lot of nice features. I feel it is a considerable improvement over Netbeans or Eclipse.
You might want to try the pre-release of the next version, since they've added a lot of new features.
Funnily enough I decided to settle for Aptana 3 Beta. Though lots of features don't work it is awfully quick and I love the antialiased font. Thanks to all for help anyway!
I'm developing PHP apps that leverage several frameworks (though not the Zend Framework yet...) and I make good use of Javascript (mostly jQuery). All mark-up is XHTML, of course, with CSS, etc. I'm looking to move beyond the beautiful simplicity of Notepad++. I'm using Windows Vista. I'm trying to decide between Zend Studio 7 or Dreamweaver CS4.
They seem pretty on par with each other, but the price points are different. I've seen a few lists of "Good things about Dreamweaver" or "Good things about Zend Studio" but I've yet to find a head-to-head comparison.
Any suggestions on the next IDE to move up to? In addition to the language support and basic error checking (syntax-related, like missing semi-colons or something), I'm looking for two things that are absolutely necessary:
"Projects" or something similar --
open a project and it gives a tree
listing of all related files
beneath. I'm pretty sure both
support this.
As lightweight as possible. Vista's a hog as it is,
and I'd like to have a lightweight
enough IDE that having 10 files open
and moving between them won't drain
my resources.
Other niceties:
Automatic documentation (not sure
what the phrase is, the stuff in
comments above functions with the
#parm stuff).
Templating.
SVN
support.
FTP/File upload
capabilities.
... And, if Zend or Dreamweaver isn't the thing -- any suggestions about what is?
i would suggest Netbease IDE PHP 6.7.
In is free , not so huge like Zend Studio or Dreamweaver.
It has support for
Syntax-highlighting
Templates
PHP Unit
JQuery
Dojo
Code completion for JS / PHP / HTML
Version Control (SVN)
and much more..
Download Netbeans
I suggest try few open source alternatives
Eclipse PDT - Is very good for php but currently don't good support jquery.
Aptana - I build on top of Eclipse and has good support for JQuery. It also has page preview feature.
You can configure different debuggers to work with them like PDT, Zend, Xdebug... all of them can be configured easily.
Zned Studio is also build on top of Eclipse, I have never used that so I can't say anything about it.
I had the same question about year ago. From then I tried many different IDE environments and a found that the most suited one was Netbeans.
The deal with Netbeans was that due to some performance issues it was the solidest IDE there.
As sad as it may be, from my perspective it is much better product than the Zend Studio For Eclipse 6 or 7 witch costs about 400$, (trust me I tried it since I unfortunately wasted the money on licence before I actually tested all available options).
It has the best code completion inspection and assistance, witch you can check yourself by downloading these two IDE-s and trying to code complete chaining method calls.
Support for unit testing is also something worth mentioning since it works. ZDE also has that feature but it is not that stable since sometimes it wont run.
JavaScript support is also solid, actually I think that is better than one in the Aptana, but the only downside of it is that is pretty slow when working with huge libraries such as Dojo. Now some may argue about that but the fact is that (at least with Dojo&dijit) library it has the best code inspection, and fine code completion support.
My opinion is that the only downside is the lack of support for Zend Debugger, and not so intuitive debugging variable, callstack and breakpoint windows.
For now my felling is that this is the best PHP IDE available, something like the Zend Studio 5.5 when it came out.
Netbeans is the clear choice here as long as you aren't limited on memory. It's got a good-sized footprint, but there's no product that can compare...not even Zend.
That being said, the new Aptana 3 was supposed to bring back full-fledged PHP support that was removed from Aptana 2+ (PDT just isn't a good plugin folks), but now that Appcelerator has taken over Aptana I'm a bit skeptical that the focus toward PHP will continue.
Yes Aptana Studio is good for PHP and also Netbeans. I like Netbeans more because it feels more solid. But Aptana has propably the best auto-complete support for javascript of all editors, but I don't really like the appearance of the editor - looks too 'macish'.
I would recommend both actually, side by side as each has its strengths and weaknesses
Zend Studio is excellent for:
PHP class coding enables you to view and browse class hierarchies, provides autocomplete, one click access to PHP Manual
unit testing
debugging
profiling
version control integration
Dreamweaver CS4 for
HTML coding
CSS editing
Other visual design
To me, I still have that impression of Dreamweaver being drag and drop for web "designers" and creating horrible html output that does that validate sometimes. If this still happens with DW CS4, then I would definitely go with Zend Studio.
Zend Studio actually supports with all the Eclipse Plugins that I would like to add for unit testing and continuous integration.
But Aptana and NetBeans are free!!! Which I think Zend editor is not, haven't tried that. I like Netbeans!!! I like Dreamweaver CS4 and use it on daily basis at my job(but not coding php). It's quite nice but I feel it's strength is the help you get with css properties. Besides that it's not better than Netbeans. if you like a shiny cool look like DW so go for Aptana, it has the best javascript autocompletion - really cool!! Saves a ton of time!! Even auto-completion for your JQuery code and other JS frameworks I think.
Actually Dreamweaver has become more of a dev tool (but I'm not entirely convinced of that). It has integration with Subversion which is kind of cool.
I like NetBeans because I've done some Java coding in it before and now it has support for PHP which is real nice, and it feels like a real dev. IDE.
But DW has this cool gray colors..
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
I'm a PHP developer and now I use Notepad++ for code editing, but lately I've been searching for an IDE to ease my work.
I've looked into Eclipse, Aptana Studio and several others, but I'm not really decided, they all look nice enough but a bit complicated. I'm sure it'll all get easy once I get used to it, but I don't want to waste my time.
This is what I'm looking for:
FTP support
Code highlight
SVN support would be great
Ruby and JavaScript would be great
For PHP I would recommend PhpStorm.
It supports FTP/SFTP synchronization, integrates well with Subversion, CVS, Mercurial and even with Git. Also, it supports HTML, CSS, JavaScript and handles language-mixing well like SQL or HTML blocks inside PHP code, JSON, etc.
But if you need Ruby you can try another IDE - RubyMine with same capabilities but for Ruby.
NetBeans. Check out 7.0.1.
It supports FTP/SFTP synchronization, integrates well with Subversion, CVS, Mercurial and even with Git (with plugin). Also, it supports HTML, CSS, JavaScript, popular frameworks and more.
And its free.
Too bad no one mentioned phpDesigner. It's really the best IDE I've came across (and I believe I've tried them all).
The main pro of this one is that it's NOT Java based. This keeps the whole thing quick.
Features:
Intelligent Syntax Highlighter - automatic switch between PHP, HTML, CSS, and JavaScript depending on your position!
PHP (both version 4 and 5 are supported)
SQL (MySQL, MSSQL 2000, MSSQL 7, Ingres, Interbase 6, Oracle, Sybase)
HTML/XHTML
CSS (both version 1 and 2.1 are supported)
JavaScript
VBScript
Java
C#
Perl
Python
Ruby
Smarty
PHP:
Support for both PHP 4 and PHP 5
Code Explorer for PHP (includes, classes, extended classes, interfaces, properties, functions, constants and variables)
Code Completion (IntelliSense) for PHP - code assist as you type
Code Tip (code hint) for PHP - code assist as you type
Work with any PHP frameworks (access classes, functions, variables, etc. on the fly)
PHP object oriented programming (OOP) including nested objects
Support for PHP heredoc
Enclose strings with single- or double quotes, linefeed, carriage return or tabs
PHP server variables
PHP statement templates (if, else, then, while…)
Powerful PHP Code Beautifier with many configurations and profile support
phpDocumentor wizard
Add phpDocumentor documentation to functions and classes with one click!
phpDocumentor tags
Comment or uncomment with one click!
Jump to any declaration with filtering by classes, interfaces, functions, variables or constants
Debug (PHP):
Debug with Xdebug
Breakpoints
Step by step debugging
Step into
Step over
Run to cursor
Run until return
Call stack
Watches
Context variables
Evaluate
Profiling
Multiple sessions
Evaluation tip
Catch errors
Are you sure you're looking for an IDE? The features you're describing, along with the impression of being too complicated that you got from e.g. Aptana, suggest that perhaps all you really want is a good editor with syntax highlighting and integration with some common workflow tools. For this, there are tons of options.
I've used jEdit on several platforms successfully, and that alone puts it above most of the rest (many of the IDEs are cross-platform too, but Aptana and anything Eclipse-based is going to be pretty heavy-weight, if full-featured). jEdit has ready-made plugins for everything on your list, and syntax highlighting for a wide range of languages. You can also bring up a shell in the bottom of your window, invoke scripts from within the editor, and so forth. It's not perfect (the UI is better than most Java UIs, but not perfect yet I don't think), but I've had good luck with it, and it'll be a hell of a lot simpler than Aptana/Eclipse.
That said, I do like Aptana quite a bit for web development, it does a lot of the grunt work for you once you're over the learning curve.
Eclipse PDT is very nice.
I'm always amazed that more people don't use ActiveState Komodo.
It has the best debugging facilities of any PHP IDE I have tried, is a very mature product and has more useful features than you can shake a stick at. Of note, it has a fantastic HTTP inspector, Javascript debugger and Regular Expression Toolkit. You can get it so that it steps through your PHP, then you see your Javascript running, and then see your HTTP traffic going out over the wire!
It also comes in free (Komodo Edit) and open (OpenKomodo versions).
Oh, and if you don't always hack just on PHP, it's designed as a multi-language editor and rocks for Ruby and Python too.
I've been a happy customer for around 5 years.
There's no "best" IDE, only better and worse ones.
Right now I'm trying to settle in with Aptana. It has a lot of cruft that I don't want, like "Jaxer" doodads all over the place. It's reasonably fast, but chokes on large files when syntax highliting is on. I have not been able to figure out how to set up PHP debugging. Three good things about Aptana: easy plugin installations, very fast and intuitive Subversion plugins, ligning fast file search.
I tried Eclipse PDT and Zend for Eclipse, but they have nightmare levels of interface cruft. Installing plugins is a living horror of version mismatches and cryptic error messages.
I also use Komodo (they bought us licenses at work). Komodo has a very intuitive interface, but is ridiculously slow, chokes on medium sized files with syntax highlighting. File search is intuitive, but rather slow. Subversion integration is not that great - slow and buggy. If not for slowness, I would have probably stuck with Komodo, especially for the debugger.
To get you started, here is a list of PHP Editors (Wikipedia).
For PHP in particular, PHPEdit is the best, and I tried and worked in some of them including, Dreamweaver, Elipse, Emacs, Notepad++, NetBeans, UltraEdit ...
Geany is a great lightweight editor -- like Notepad++ for Linux, only better. I find this, combined with a few shell scripts and symlinks for linking modules into a web source tree, make developing on Linux easy and fun.
I love JetBrains IDEs. For PHP it is JetBrains PHPStorm.
http://www.ibm.com/developerworks/opensource/library/os-php-ide/index.html
Personally, I love Notepad++... :D . The above link compares some of the better IDEs and the best ones aren't free.
I'd recommend Komodo 4.4 though (I used the trial version) since it was awesome. Better than Notepad++, but not free... :(
I would recommend Zend IDE for the integrated debugger.
I'm using Zend Studio. It has decent syntax highlighting, code completion and such. But the best part is that you can debug PHP code, either with a standalone PHP interpreter, or even on a live web server as you "browse" along your pages. You get the usual Visual Studio keys, breakpoints, watches and call stack, which is almost indispensable for bug hunting. No more "alert()"-cluttered debugged source code :)
Have you looked at Delphi for PHP (<http://www.codegear.com/products/delphi/php>) ?
Joe Stagner of Microsoft really likes Delphi for PHP.
He says it here: "[Delphi for PHP] 2.0 is the REAL DEAL and I LOVE IT !"
Eclipse with PDT.
I use and like Rapid PHP.
What features of an IDE do you want? Integrated build engine? Debugger? Code highlighting? IntelliSense? Project management? Configuration management? Testing tools? Except for code highlighting, none of these are in your requirements.
So my suggestion is to use an editor that supports plugins, like Notepad++ (which you are already used to). If there's not already a plugin that does what you want, then write one.
I use Coda on Mac OS X.
There is a new guy in town, PhpStorm from JetBrains. You use it and I bet you will forget all the other editors. It's bit pricey though, unfortunately.
RadPHP (previously known as Delphi for PHP) is the best.
All are good, but only Delphi for PHP (RadPHP 3.0) has a designer, drag and drop controls, GUI editeor, huge set of components including Zend Framework, Facebook, database, etc. components. It is the best in town.
RadPHP is the best of all; It has all the features the others have. Its designer is the best of all. You can design your page just like Dreamweaver (more than Dreamweaver).
If you use RadPHP you will feel like using ASP.NET with Visual Studio (but the language is PHP).
It's too bad only a few know about this.
Aptana supports this and I use it for all of my web development now.
Hands down the best IDE for PHP is NuSphere PHPEd. It's a no contest. It is so good that I use WINE to run it on my Mac. PHPEd has an awesome debugger built into it that can be used with their local webserver (totally automatic) or you can just install the dbg module for XAMPP or any other Apache you want to run.
The best IDE for PHP in my opinion is Zend Studio (which itself is based on Eclipse PDT). Note that in this case "best" does not necessarily mean "good." It is slow and a bit buggy, but even so, it's still the best option for PHP programmers. I've tried a ton of PHP editors over the years and I haven't yet found one that works great.
Komodo IDE would be my second choice. My only problem with Komodo is that the autocomplete is not as good. With properly structured apps where you use phpDoc to document return types etc., it should be alright. But I work on a project that doesn't really do that and Komodo can't read across files to know that $user is a User object for example.
Personally everything that is based uppon Eclipse or NetBeans is an overkill, the GUI is crap and the performance is soooo slow compared to other alternatives.
If you're willing to pay I would suggest Zend IDE (version 5.5, not 6 because it's based on Eclipse) and EditPlus for a more lightweight yet powerfull code editor.
If you're looking for free alternatives, or if you code in other languages other than PHP, OpenKomodo is a really nice IDE with almost all the features (no SVN neither CVS) that you require, the only con I see about OpenKomodo is that sometimes it messes my code indentation, but then again I don't use it on a very regular basis.
As for a free lightweight alternative: Notepad++. =)
My personal preference is Eclipse (with various plug-ins) as I am developing in several languages (PHP, Java, and Ruby) and this way I am always used to interface and keyboard shortcuts. This is not a minor thing as you become very productive this way.
I haven't used Aptana, but will (hopefully) soon - it does look interesting, though.
For others IDEs I have used: jEdit (for little Java), Notepad++ (still for some scripting and short test code runs).
And for the features You asked: Eclipse support many source code version servers (Subclipse); your project can be on a Samba share; ZendDebugger/xdebug for debugging.
I've tried Eclipse PDT, with some success. Aptana is also pretty good, or if you are doing a lot of AJAX stuff, it's great. Your mileage may vary, however, depending on what additional plugins you want to use with them.
PHPEclipse is as close to Eclipse java power as it could get. Eclipse PDT is much weaker (last time I checked).
I'm using PHPDesigner but I will go for Eclipse PDT. I was always against Eclipse until few months ago when I have one Java project to finish... Great IDE
Now I can't imagine one day without Eclipse. :)
Have you tried NetBeans 6? Zend Studio and NetBeans 6 are the best IDEs with PHP support you'll come across and NetBeans is free.