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.
Can anyone suggest a PHP IDE (preferably built in Cocoa/ Objective-C, not Java) that also has native support or an excellent plugin for Git?
I am currently using NetBeans but I am not happy with the speed and the patchy Git plugin. I have previously used Zend Studio for a long time but that had stability issues.
TextMate is my editor (ah.. no IDE) of choice. I use the GIT bundle and the Project+ plugin to see the directory structure etc.
Aptana 2.0 is the stable version but I have been using the beta version 3.0 and love it
I've been using Komodo IDE for a few years now and think it's pretty great.
I don't know any native PHP IDE for MacOSX.
However, I have been using RubyMine since its first public release, and I'm really happy with it. I would suggest you to try PhpStorm, the PHP-equivalent.
The GIT plugin is awesome.
Older post but I'll throw in my 2 cents.
All I really want is something that has great support for ruby/rails and php, and first class git support. It's quite hard to find actually.
I like Netbeans but no native git support is a killer. Even though it was a touted feature for version 7, it's nowhere to be seen even in 7 beta. Coda is nice but I find it lacks enough serious features to be a real development tool beyond the html with php sprinkled in crowd. Textmate, version 2 is some serious vaporware, and it's painfully slow on the occasion I attempt to load a remote project through a VPN. It's scanning large app directories on startup takes forever.
Then there's rubymine and phpstorm, which are nice, but then I'd have one IDE for ruby and one for php. Not exactly ideal... And of course most of these things are java anyway, which tend to be a little ugly and slow even if functional.
Realistically there's no good solution. For the longest time I've used skEdit since it had the bare features I needed. It has no git support, but at least it's native and fast, and one of the few editors I found that supports SFTP remote projects. Lately I've been using Aptana Studio 3 a bit more and I'm iffy on it. I love the git support, it's fantastic, and the built in ruby/rails tools are exceptional. Works quite well with php as well. However it's still a big java app, and the launch and shutdown times are a bit annoying, not to mention it can be a bit laggy at times... But so far, from what I've seen if you're looking for one IDE with good git support for web languages, Aptana 3 is probably the best bet...
Related
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.
I've been developing web applications for 2 years now, and have been into simpler web pages for many more. I've been using Notepad, then ConText, then Crimson Editor (was my favorite for a long time) and I've been trying with Notepad++. I have NetDrive setup so I can edit and save files directly on the ftp server. On Firefox I use the Web Developer extension, Firebug and a couple more.
As my skills grow and need to do more stuff than before, I'm facing some limitations such as doing some versioning, tracking changes on the code, reverting back to an older version, these things I do them manually. Also I want to be portable so I'm trying to setup everything webdev-related in a Dropbox folder so I can sync it and have a functioning developer setup everywhere I go.
I'm wondering what software would you suggest for web app developing and how can it be setup to be portable or in the cloud?
I thinks it depends on whether you achieve a full-featured IDE or a collection of tools that do their job separately.
After using many editors on different platforms, I use Eclipse and Vi now: For small scripts that have to be changed quickly, Vi is the perfect editor, and it's available for every important platform, but it takes some time to lern the shortcuts.
But since most Web projects grow rapidly in size, I got need of a IDE which suits all my needs:
Subversion integrated
Code completion and helpful function for different languages (Python, PHP, HTML, even C++)
Availability on Mac, Windows and Linux
Open Source
Extensible via Plugins
Fully configurable
Eclipse does this all and much more. All the project stuff is placed in a workspace-directory, which you can sync via Dropbox or anything else if you want (since I would recommend storing project files in a repository rather than on a simple Webdav place).
Jetbrains' Web IDE is currently in beta and should be released before the end of the year. You can already download and use EAP releases. It will be commercial but might have a free/community version (as was recently announced for IntelliJ IDEA).
It's getting quite good with support for PHP, HTML, CSS and Javascript. It also has good version control integration (Git and Subversion are the two I've used) and has local change tracking (so you don't even need to check in to something to see old versions and revert them; it does this automatically).
That and a convenient distro like XAMPP is all you really need (well and Firebug).
I use Zend Studio (http://www.zend.com/en/products/studio/) as my IDE. It's not perfect (nor free), but I haven't found anything I like better and it has definitely sped up my development time. It really shines as a PHP editor, has a nice XML editor, decent HTML editor, and so-so JavaScript editor. But since it's built on the Eclipse platform, it should be possible to install plug-ins/mods. If you're like me and your main focus is PHP, with the other three languages taking a backseat, then I imagine this will suit you fine.
I wish I could tell you more about versioning, but I don't know much about this :/ I do know that Studio has a built in SVN manager. It also supports remote connections through FTP. I also use Dropbox, and there is no problem in using the two combined.
I've checked out NetBeans, and a few other IDEs, but there are so many small features/shortcuts that Studio has that the others don't that force me back to Studio. I will add these caveats though: Studio is memory hungry, and code hinting is much slower in the latest version than the previous (though they claim this will be resolved.) I suggest downloading the demo and seeing how you like it for yourself.
Try which editor you like the best. I used Aptana and different other editors (eg.: Zendstudio) a while ago, but I always go back to Geany (but I am on Linux) and a bunch of commandline tools.
You have to figure out yourself what is the best enviroment for you.
The editor part is totally up to you, I use both PHP Eclipse and Vim. I don't think versioning integration in IDE is that important but code completion and syntax error control sure do help.
Look into SVN and TortoiseSVN - it provides comfortable version control and you can use your sources from anywhere with an svn client and it's a must when you start working on one project with other people.
For the last year I've been contentedly developing using NetBeans 6.7 with [xdebug][2], Firebug 1.4 and [Darcs][3] as version control. The whole setup is portable, so I can use it on any windows machine and has proved very reliable; can't recommend it enough.
NetBeans covers all the bases: HTML, CSS, JavaScript and PHP with auto-complete and the xdebug integration, once you get it working, is excellent. Darcs is console only, but its so straightforward to use that you just don't miss the GUI. I use [Console2][4] to work with Darcs.
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 10 years ago.
After reading the "Modern PHP workflow" article in the November 2008 edition of php|architect magazine which
discussed unit testing (phpUnit), build tools (Phing) and continuous integration (Xinc), I'm inspired the learn more about some of the tooling available for PHP, especially Phing.
In the past I've often handled deployment to a production server by running the live site as a subversion working copy and simply running an "svn update" on the production box to deploy the latest version of the code.
Do you use build tools for PHP code? What advantages you you believe they offer over deploying direct from subversion? What should I look out for, or what gotchas might I face?
I have used both Phing and Ant and prefer the latter much more. I initially went with Phing due to it being written in PHP but to be honest it isn't as mature as Ant. In the end, having a mature buildsystem with a large community is worth more.
Things done with Ant/Phing:
From a base checkout loalize to a specific language, ensure dependencies are there (other libs, directories, etc)
if you have them, compile templates, etc
Bring target database up to the required version, depending on the checked out code version
run unit tests, etc
A large issue that I see with Phing is that it creates a needless layer of indirection. PHP is a scripting language, and therefore could be run directly. Phing's use of XML configuration is a poor fit for the language: it does provide a more readable declarative configuration, but at the cost of sacrificing any of the flexibility of the language. With Ant (the inspiration for that route) it makes sense since Java did not have that flexibility as it is less dynamic and requires compilation.
Unfortunately I haven't seen many good alternatives in the PHP space, and unlike other languages build tools are not as essential or a part of the culture so the evolution of another well supported option may not happen any time soon.
I'd therefore stick to options that are closer to what PHP could do from cultures that more aggressively support build tools. I normally use Gradle. Rake also does a great job depending on with which language you want to cheat (and there may be other similar options). You should also weigh things like Webdriver support if you're into that type of thing. Otherwise creating a lightweight solution using PHP and/or BASH should cover everything while maintaining transparency
I looked at at Phing at it looks pretty awesome. For the project I'm working on I'm actually using Apache's Ant. I use it to do a several things:
Combine and compress Javascript and CSS (compression done using the YUI Compressor
Replace standard config files with production config files (e.g. rename config.php.production to config.php)
Remove un-needed files (such as the ant build file, build.xml)
I think Phing is worth looking at over Ant because it's native PHP, which could be nice. Also if you are doing anything more than just copy/moving files around look out for performance issues when you move to the production environment. I had an issue where the YUI compressor ran fine on my local machine but on the relatively small VPS it was super slow.
On a project I'm working on now we're using phpUnderControl to run tests and get fast feedback when something's broken. We plan to use it to run other tests as well such as some written in Watir.
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 10 years ago.
I am searching for a good system for PHP, which does UnitTesting, Subversion, Coding Standards.
I would love to hear your suggestions and which one is the best and why.
I will be running it on a debian server so anything which runs on mac or windows servers would be out of the question.
I second Hudson for CI and PHP. I have written a tutorial on setting it up if you are interested.
Edit:
My tutorial is out of date.
I highly recommend: http://jenkins-php.org/
We have played with Xinc, but we stuck with phpUnderControl for now. It seemed a bit more mature, when we evaluated the different solutions.
phpug came with the obvious support for phpUnit, also generates docs (phpDocumentor) uses xdebug code coverage and project mess detection and even checks on CS (through phpcs). As for phpUnit, you can now even run phpt-style tests with it which makes it for some people easier to write tests.
And even though phpug adds CruiseControl and Java to the game it hasn't been much of a hassle for us. Not as much as I assumed anyway. :) I mean, that's the advantage with a Java-based service. (Assuming you have the JDK) You just download and run it. That easy. I am not familiar with Java on Debian, but last time I checked it wasn't an issue.
As for commercial solutions I know a bunch of PHP shops that use Bamboo (along with the complete Atlassian suite).
phing is an Ant clone/workalike written in php. I use it to run phpunit tests, checkstyle coding standards checks, static website generation and tarball packaging of apps. It's fairly simple to write a custom task to integrate any php application or shell script runnable program into your build process that isn't already supported.
I think you're talking about Continuous Integration. The best thing you can use is CruiseControl + Ant + phpUnderControl + phpUnit + PHP_CodeSniffer + Xdebug. With this chain you will swing to the fans :)
If it's continuous integration that you're looking for have you checked out TeamCity? It's not specifically for PHP but it's very easy to set up and manage. It's also free for the professional licence (20 build configs) and for open source projects.
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 10 years ago.
I'm looking for an IDE with use with the Symfony Framework.
I have a bit of experience using the NetBeans 6.5 IDE but it does not always seem to complete the class methods, plus it doesn't seem to have any PHP code snippets built in.
Here are the features I would ideally like to have, in order of importance, from an IDE:
Code completion of all the Symfony and Propel class methods (I can never remember them)
Code templates,(class skeletons, HTML structures, Symfony templates?)
Straight-forward code debugging
Source Control
If you could wait, Symfony support is coming to Netbeans soon: http://www.netbeans.org/issues/show_bug.cgi?id=145913. I'll go with Zend Studio 5.5's debugging and inspection features for the time being.
Eclipse with PDT
I recommend NetBeans. You can follow this tutorial: Use NetBeans to setup a PHP Symfony project
A lot of things change. the above link is broken now. And Oracle owns Netbeans now. So, I do NOT recommend netbeans to you any more! Try gvim!
I've been using Symfony since version 0.6, and have used Zend Studio (both the earlier versions, and the later Eclipse based versions), Eclipse, Komodo, NetBeans, VIM, e TextEditor and Sublime Text.
I've recently switched to PHP Storm, and I have to say... It completely annihilates all the other options. Definitely my choice!
Komodo IDE (or, without debugging and Source Control, the free Komodo Edit) + a set of commands for Komodo to use symfony tasks. does all your 4 points, and also works for Perl, Python, Ruby and Tcl.
Symfony is supported by NetBeans 6.8.
I'd recommend you to use PHPEDIT, it is the software with the best support for all symfony versions,
you can watch a screencast of how easy can be develop symfony projects with phpedit.
Link
As for me, it's Eclipse + PDT.
But NetBeans already has support of phpDoc 1.4 (while PDT hasn't), so you can document (and IDE will be able to autocomplete) "magic" properties and methods. Doctrine users will surely appreciate that :)
UPD: Some time passed and I've moved to NetBeans first (it appeared lighter, faster and less complicated). Then I've used PhpStorm EAP, liked it and even bought a license :)
So, here and now my IDEs of choice are:
NetBeans — free
PhpStorm — paid, most intelligent (static source analysis is real killer feature)
You can simply use Textmate for Symfony development. After getting the grip of it, it can be perfectly fit as well.
I used Eclipse PDT in the past, and switched to Netbeans a month ago... After having tried both, I would recommend Netbeans: It has better refactoring tools and it performs better in general.
It's NetBeans for PHP. It supports symfony.
Check out Symfoclipse, a Symfony plugin for Eclipse + PDT environment. Here's the link ;-)
PHPEdit blows away the competition. Of course you have to pay for it, but it has support for SVN, GUI for all symfony commands, yaml editing, etc.
You get a lot for your money and makes development so much easier and faster.
You will make back your money with one project just off of the time you saved.
I prefer old school, textmate or bbedit (which I am becoming a real fan of)
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.
Even though I have a robust and fast computer (Pentium Dual Core 2.0 with 2Gb RAM), I'm always searching for lightweight software to have on it, so it runs fast even when many apps are up and running simultaneously.
On the last few weeks I've been migrating gradually to Linux and want to install a free lightweight yet useful IDE to program on C++ and PHP. Syntax highlighting and code completion tips are must-haves.
If you are taking your time switching to linux, I'd switch to emacs or vim at some point as well. There will always be a resource or a document describing exactly the problem you are having with either of them, and generally a solution is just a few more clicks down the road.
Emacs may be easier at the beginning because of modeless editing... but don't let modal editing scare you away from Vim.
The key with either Vim or Emacs is knowing it could probably take you the better part of the day just to figure out what you want them to do, let alone how to get them to do that.
Once they work for you though, you'll see why mostly everyone is in one of two camps.
General hints:
Setting up a Makefile for your project is almost always worth it.
Using cscope and or ctags will make your life easier.
Vim hints:
:make
:cn, :cp
OmniCompletion
using BufRead autoloads to set what :make should do depending on file type
Emacs hints:
ecb is fun
M-x dired
M-. M-, M-* M-x complete-tag for etags
M-x compile
(add-hook 'mylanguage-mode-hook '(lambda () (setq my-customizations t)))
And check out other people's customizations for examples of what other people do.
gedit
Syntax highlighting
Fast, lightweight
Tabs
GUI
emacs has been used by linux programmers for decades. It features syntax highlighting, it's fast, and there are a million tutorials out there you can find.
Console editors, such as emacs and vi, are more lightweight than their GUI counterparts, and (at least those two are) just as capable as any other IDE (syntax highlighting, mouse support, ctags, autocompletion ... all the way to gdb integration). The learning curve might be somewhat steep, and you might have to do some customization, but its all worth it. Also, vi is present on every installation of unix-like operating system.
Amongst X applications, there are
gedit which comes with GNOME and has many of these IDE features (see, for example, this blog entry),
Geany - really fast, depends only on GTK, and with even more features including code folding.
These would be lightweight IDEs, as opposed to heavyweights like Anjuta, KDevelop, Eclipse or NetBeans.
Vim (or Emacs varying on religion) will always be my first answer to this question, over any point-and-click IDE.
As they write in The Pragmatic Programmer
Choose an editor, know it thoroughly, and use it for all editing tasks. [...] The editor will be an extension of your hand; the keys will sing as they slice their way through text and thought. That's our goal.
Make sure that the editor you choose is available on all platforms you use.
Vim is configurable, extensible, programmable and can be turned into an IDE with all the regular features. Lately I've been using Eclim to "bring Eclipse functionality to the Vim editor" (projects, better java support etc.) making it a complete platform with advanced IDE features.
Joey, I believe anything is lighter than Eclipse! :o)
I bounce about between Mac, Windows and Ubuntu and while Emacs used to be my editor of choice, I'm finding that in my old age I prefer to something GUI-based (using command-line for the shell is still fine by me). My preferred editor is Komodo Edit, which the advantages of:
Being free (as in beer)
Available for Mac, Windows and Linux
Syntax highlighting for a boatload of languages, including C++ and PHP (I'm using it for Ruby, Python and PHP myself)
Code completion, even for classes I defined myself
Ability to "remote save" via FTP, SFTP or SCP
Support for organizing your files into projects
Tabs and other interface niceties
I'm not sure how lightweight it is, but it certainly feels snappier than Eclipse!
How has no one mentioned Code::Blocks!
Not only is it a fantastic Open Source IDE for C++, but it's fully cross platform, so if you need to work on a Windows or Mac box for a bit, you can use the exact same IDE, and exact same project files to do so! Which is great for cross-compiling!
I'm not sure exactly what you mean by 'lightweight,' but here are a few popular IDEs for linux:
Anjuta for Gtk/Gnome
KDevelop or Quanta for KDE
CodeBlocks runs on Windows/Mac/Linux and is written in C++
None one of these are Java, so they automatically have an edge over Eclipse for performance ;)
Another option is MonoDevelop, which is geared towards .Net/Gtk# programming but also includes C++ support.
This is a really religious question - just choose the one you like. Every editor has it's pros/cons and you need to decide which set suits best to you. There are many IDEs out there that can use various editors like Pida.
Nobody mentioned Kate. It's easier than vi for start (and has nice vi-mode for those, who want to migrate to vi), has more options than gedit (And better syntax highlighting). It also has kioslaves support (nice for remote server PHP development) and it's only a little bit more CPU-demanding than gedit. It can also have built-in console (extremely helpful if you want to quick grep through files or compile the project).
There are also features like:
basic code completion
advanced indentation and block selection operations
good and very clean (to read) find/replace with regexp
comment-out on ctrl+d (it comments out one line or one function if used on function header)
and a lot more...
any of the popular editors can be turned into an ide.
I use Vi on the console and have used various gui editors over the years. This doesn't just go for linux I use Crimson Editor on windows as a C/python/z80asm ide.
what about eclipse with linuxtools?
You can look at jEdit if you are using or have Java installed.
jEdit (wikipedia article)
Again it's a 'smart editor' rather than an IDE. Seems to know how to handle most languages and once its started it is pretty smart, still Java but less resource hungry than Netbeans and Eclipse.
I would say Bluefish, not an I.D.E but a nice lightweight code editor with syntax highlighting and code completion (and many others) for quite an array of languages (among them C and Php).