Sublime Text and VS Code are both great. Both customizable with a lot of plugins/packages that improve PHP integration.
But, you can always just use http://www.jetbrains.com/phpstorm/eap/, which only gives you 30 days but since they update once a month, you can pretty much have a perpetually valid license if you keep updating.
JetBrains PhpStorm (based on IntelliJ IDEA). I'm using the 2.0 EAP right now and it's awesome, even though buggy.
I love having the IDE watch for syntax errors, non-existent variables, etc... I was using DW/TextMate for PHP before and a real IDE is so much better.
Edit: also, debugging. finally no more "echo" and "print_r"s to find problems...
I second PHPStorm. Here is their pricing page http://www.jetbrains.com/phpstorm/buy/index.jsp
You may be able to get a license through your employer, or a tax deduction if you work from home.
I've also used Netbeans and was happy with it until I found PHPStorm.
Its also worth to mention that VIM can be set up to work like a IDE, but that's a lot of hassle
It's a complete, fully featured IDE that proactively keeps up with the PHP community, whereas Sublime is a fancy editor with plugins.
If you're satisfied with Sublime, there's no reason to use PHPStorm. But people don't rave about how good and useful it is for no reason.
There is a page here but tbh it's probably easiest just to find them.
You are now on the breakpoint editing page. You can set the conditional stuff up there....but as I said the interface even after it's opened isn't awesome.
On that screen you can also click the + button in the top left to set a "PHP exception breakpoint" aka break when an exception is generated.
You can actually use the personal license for commercial purposes under certain conditions; this basically comes down to you buying your own license with your own, non-reimbursed funds and having the software be used by nobody but you. On the plus side, you can also use that one at home. It's in the license matrix.
The personal license is still around $100, but it's half of what the commercial one costs. As an alternative, there's also a 50% startup discount, which comes down to roughly the same pricing but with the commercial license terms instead.
Get yourself a real IDE. I was using Notepad++ exclusively for a year or so at my new job, and I thought I was doing fine. Then I was able to convince them to get me a license for PHPStorm, and it has drastically improved my productivity.
In case it helps - you can have multiple windows. There's the option to close & replace the current one or to open in a new window - source
I'm using bitbucket for a side-business I'm involved in - it's easy and beneficial (private repos). Even if you don't use bitbucket, use version control. Use version control. Use version control. Oh, and use version control :)
I'd also throw the option for PHPStorm in the ring of IDEs. Costs a little bit, but it's freaking awesome and has VC integration built right in. http://www.jetbrains.com/phpstorm/
Just thought i'd mention that an LLC is always for-profit. Just saying its not doesn't make it so. You have to get a non-profit status to be considered so, and this is what they are talking about. Its also worth noting that comparing your project to PHP itself isn't really that fair, due to the popularity of PHP.
And i totally get their second response. The reason they grant open source licenses is to better the open source community from the projects that come from it. In no way does your project better the open source community.
This being said, it is too bad that you are not able to get the commercial license.
Also, you can still use a Personal license, check out the license docs: http://www.jetbrains.com/phpstorm/buy/license-matrix.jsp
I've heard good things about phpstorm - it's from the same people who make IntelliJ, which is awesome. I've never actually tried phpstorm myself though so take this suggestion for whatever you think it's worth.
Make sure you evaluate PHPStorm (or even WebStorm) for your ide before committing to Aptana or Netbeans. While not free, it's easily the best $100 I've spent in a long time.
Perhaps another approach to what you're after is finding a lightweight (..or not?) MVC framework for your preferred programming language. MVC frameworks typically have a 'template' or 'layout' file which has all of the common markup to the site (html, head, nav, footer, etc), while the 'view' files have the markup for each independent page. Most also have some type of widget which allows you to include reusable elements, menus, etc or other site features in specific pages - so you literally never write the same line of code twice. - All this with the added benefit of learning the MVC pattern.
To answer your question specifically - I don't know of any software that handled 'templates' the way DW did.
You can pause at a breakpoint and change variable values at pause time with Zend Studio and the Zend Server combination (even the free Zend Server CE).
phpstorm can do it too: http://www.jetbrains.com/phpstorm/features/index.html#Visual_PHP_Debugger
Adding new code and adjusting instruction pointer I'm pretty sure you can't with any of the PHP debugging/IDE combos.
I know some people like Eclipse PDT, but I don't really know much about it, sorry.
I use JetBrains PhpStorm, which is a cut-down version of IntelliJ just for PHP. I really like it, but it does cost money, unlike Eclipse :) They have a free trial, or right now they are also releasing public betas ("EAPs") of the upcoming 3.0 version.
I hate to say it, but if you're teaching him this, and he is blatantly ignoring your teachings, either you're wasting your time, or you're teaching poorly. Proper formatting, naming, consistency, etc is something that is rarely taught formally, but is of utmost importance when you're working on more code than just your own.
Just make it clear, that if he wants to learn - really wants to learn - then he needs to listen to what you're saying. And if he doesn't quite understand why things are the way they are, try to explain to him how rude it is in a team environment, or how refactoring it will take 10x more time than it should. And if he still doesn't get it, tell him to just do it, because it's correct. Don't force him into your style if he has an acceptable style (camelCase vs under_scores, etc), but anything more than a line in between HTML tags is ridiculous.
Also, make sure you're using an IDE to teach him. JetBrains' PHPStorm has automatic code formatting built in, and after using it for a while, he'll really come to appreciate how clean it looks. Perhaps think up a project where he will have to refactor it in iterations. Make a log in page. Now add ability to post blog text. Now add images. Make him go back again and again to his code, and get frustrated. Perhaps he just needs to see firsthand why his practices will fail.
When it comes to programming environments I prefer the IDEs the Jetbrains guys come up with. For PHP they got PhpStorm which is pretty straight forward: Install IDE, install PHP Interpreter (XAMPP for example), link interpreter in IDE, ready.
Sadly there's no free version of it (aside from 30d trial) but if you are still a student or therelike you can check if you qualify for a free licence.
I'm not sure of a phpstorm solution for this. But, I think copying and pasting straight from Word, an email, or whatever into phpstorm is a bad idea.
I typically paste into a "simple text editor" such as vi, or emacs prior to moving around strings for php status messages, etc in and out of webpages and into code editors.
You may find this page helpful: http://www.jetbrains.com/phpstorm/webhelp/cutting-copying-and-pasting.html
The if statement on line 41:
> if (!$rows) {
is never terminated (no matching closing '}' brace).
It may be just the copy-paste into gist that's done it, but the indentation looks to be a mess in this code.
You should pay attention to code indentation because it really helps ensure you don't end up with issues like this.
I would highly recommend a good IDE with brace / bracket matching (some text editors have this as well, but I much prefer an IDE for working on projects of any significant size).
I personally recommend PHPStorm, which is a commercial IDE, but in my opinion better than the available free options at the current time.
No I mean PhpStorm's built-in database console/browser/tool thing: http://www.jetbrains.com/phpstorm/webhelp/database-console.html
By the way, I can't fiddle with server configuration. I just hoped that I'd missed a checkbox somewhere.
Your tip about adding the where clause immediately is much appreciated. That's a surprise I don't want to experience again!
I've heard good things about PhpStorm. I actually bought WebStorm (the JavaScript version) because I was so impressed with the YouTube videos showing what it can do and because it is rated highly.
If you want to do PHP development, you can install the WampServer.
>Mac or PC, How's webstorm?
I don't know if it says it on the site, but PhpStorm has Visual Studio key bindings: http://i.imgur.com/ieqwIUl.png. It might help ease your transition. It's a really powerful IDE by itself, and the free plugins for different languages and tools make it even more so. I've used VS with Resharper for doing heavy-duty data processing in C# so when I switched back to Java, I started using IntelliJ IDEA instead of Eclipse and I haven't looked back. Since then I've started using PhpStorm and Pycharm as well (and own licenses for both).
I know PhpStorm can debug Node.js applications but I think for actual front-end JS you're going to need to use something like Firebug for Firefox or Chrome's built-in developer console to get the job done. You can still place breakpoints where you want and step through the code like an IDE but without the power to edit the JS on the fly. I guess that's the downside of front-end work -- lots of refreshing.
http://www.jetbrains.com/phpstorm/webhelp/editor-editor-tabs.html
Tab limit
* In this text box, set the maximum number of editor tabs to display.
When number of opened editors exceeds tab limit
* In this area, specify which editor tab should be closed when the tab limit is reached and the user attempts to open a new file. * The available options are: * Close non-modified files first - if this option is selected, PhpStorm examines the tabs in the order they were opened and closes the first tab with content that has not been modified. * Close less frequently used files - if this option is selected, PhpStorm closes the tab with the less frequently modified content.
When closing active editor
* In this area, specify which editor tab to activate when closing the currently active tab. * The available options are: * Activate left neighbouring tab - if this option is selected, PhpStorm activates the closest tab to the left from the tab being closed. * Activate most recently opened tab - if this option is selected, PhpStorm activates the tab with the file which was opened last.
Not sure about html, but TopStyle (click Auto Replace) has had auto-replace statements for css since forever. It expands shortcuts upon pressing space (or tab), so mt: ends as margin-top:, pb: as padding-bottom: and so on. I think they added html support for auto repalces in TS5, but my beta expired and can't check.
I found similar system in PHPEdit and phpStorm, but I think you'd have to write your own keyboard shortcuts to have it work exactly as you wish.
PHPStorm save automatically all your changes as soon as you type. http://www.jetbrains.com/phpstorm/
The only realtime IDE I know about is meteor: http://meteor.com/ It's still in the beta phase though... but look very promising