What Tools Does PHP Superstar Michelangelo Use In His Daily PHP Routine!

A Small Intro..

Hey! To start with I want to want you all a tremendous 2016 full of every good thing coming your approach! And thanks so much for being and sticking with 7PHP, I’m really grateful to all of you.

Kickstarting this very first day of  this recent New Yr 2016, 7PHP is delighted to convey to your PHP house a new interview collection, named “It’s The Tools Talking!“. And for this episode #1, I’m honored to host our 7PHP Superstar Mr Michelangelo van Dam!

I hope you’ll take pleasure in reading about – what the PHP rockstars are using as their ‘private secret sauce‘ in crafting their masterpieces – as a lot as  I am whereas reading all about them.

Before we proceed additional, just a little piece of information. This new collection’ concept is inspired by, our Icon Of The PHP Group, Mr Cal Evans’ podcast & and considered one of his blog submit:

  1. It’s the booze talking podcast – therefore my title.
  2. his blog publish on 5 Tools Every PHP Developer Ought to Grasp – hence the start of an inspiration for the content of my title.

So pricey Cal, when you have been offline having fun with your nicely deserved boat cruise for this end-of-year festivities, I acquired inspired by your “online” actions – so just to say that I can’t “say-enough about” how cool you’re even if you end up not around!

PS: Please should you like what I do right here on 7PHP, unfold the word and assist me get extra followers either on Twitter, Facebook or Google+.

PPS: Share this article on your social community – there are useful social buttons earlier than and after this submit that will help you with this.

– I’m grateful to you!

Okay pricey #phpc people and aspiring #PHP rockstars, let’s do this! Let’s Rock it!

What Are The Tools That Michelangelo van Dam (aka DragonBE) Use!

>> Who Is Michelangelo van Dam

Michelangelo van Dam The PHP Ninja Turtle & PHP Group Evangelist

DragonBE has been featured numerous occasions on 7PHP. To know more about him, have a look right here at this link dedicated to him.

>> Hello Michelangelo, before we truly uncover your toolset and secret weapons, How A lot Of Significance Do You Assume Tools Can Play In The Life Of A Developer.

As a developer your work is to ensure that you are able to do your job to one of the best of your capability. The proper software for the job is a requirement to just remember to don’t waste time while writing lovely purposes.

>> How Does Your Workstation Look Like

I all the time work on my 13″ MacBook Air as a result of it provides me sufficient power to do my job without too many distractions. My iPad serves as communication dashboard to see what’s occurring within the rooms.

The Workstation Of Michelangelo van DamThe Workstation Of Michelangelo van Dam

I have all the time PHPStorm, Phabricator, Itunes and Outlook open on my MacBook Air and Slack on my iPad. In fact, my coffee mug (thanks Gary!!!) stands firmly in addition to my laptop computer.

As an alternative of a real standing desk, I’ve claimed a “party table” as my working area. Apart from having me standing up whereas coding, it additionally serves as a super meeting spot as you can now have a number of individuals standing around your desk. And for some bizarre cause the height of this desk is perfect for me to face on.

DragonBE's Standing Desk & Party TableDragonBE’s Standing Desk & Get together Table

In order to know what I’m doing, I like to speak with my elephpant and explain him the steps like a chef-cook does on TV. Rubber Ducking as individuals name it, however for me I call it “Fluffy elePHPanting“. Most of the time it helps me clear up a bug or find a logical error I made. I can really advocate it to everybody.

Michelangelo's Fluffy elePHPantingMichelangelo’s Fluffy elePHPanting

>> The OS That You Use

My workstation is a MacBook Air operating OS X and has the newest, biggest PHP operating on it just in case I want it (I lately blogged about it). But I additionally run several virtual machines like Windows XP, Windows 7, Ubuntu, Debian, OpenSuSE and CentOS as these are the widespread server configurations my clients use for operating PHP purposes.

The rationale I had chosen Apple for my units is as a result of their backup and recovering system simply works! I had already gone by way of a couple of hard-disk crashes or different issues, after changing the broken half the restoration system kicked in and after a short time the system was restored as if nothing happened. This is within the consulting service business a “must-have” function I wasn’t able to find with other platforms.

>> What VM software you employ

Virtualization comes in many flavors and I exploit whatever my clients are using. VMWare continues to be the most typical virtualization software I come across, adopted by VirtualBox for these improvement groups that work with Vagrant. Sometimes I stumble upon Xen Virtualization and just lately Docker. I assume the picture under says it all: I really like automation!

DragonBE's VM toolsetDragonBE’s VM toolset

>> Your Database Administration Software

For almost all of the time I exploit the CLI shoppers as they’re fast, provides me an entire bunch of features proper out the box and may run even on remote methods in a terminal.

I also use phpMyAdmin and MySQL WorkBench for MySQL databases, MongoHub for mongo storages, Microsoft SQLServer Shopper for MS SQL Server and the Oracle Shopper software program.

However increasingly more I’m utilizing the build-in database shopper of PHPStorm because it supports all kinds of vendors and is straightforward because I don’t have to go away my improvement surroundings to run queries.

That stated, I exploit the DB shoppers just for making an attempt out complicated queries or checking some buildings. The provisioning of the databases I depart to DBDeploy (Yeay, automation FTW!!!) because it allows me to model my knowledge migrations easily and repeatedly. I’ve posted a nice article about DBDeploy as properly on our firm web site.

>> Your Testing Device (Unit Testing & Useful Testing)

I assume the whole world is aware of by now I’m an enormous fan of PHPUnit (with kudos to Sebastian Bergmann). PHPUnit shall be my first cease writing exams before writing code. Yes, I’m an previous fart still believing in TDD however for me it will get the job carried out.

For acceptance testing I depend on Selenium because it allows me to make use of PHPUnit to trigger Selenium checks in quite a lot of net browsers on totally different platforms, approaching the appliance as a real consumer would.

For stress testing I take a look at Apache Benchmark, Siege and JMeter.

For penetration testing I exploit quite a lot of tools, but I feel OWASP ZAP would be the most recognized penetration check suite.

>> Your Debugger / Debugging Tools

Good, a trick query! I exploit PHPUnit for debugging more often than not, and XDebug for step-by-step debugging. We also hook up our PHP error handler onto Sentry so it provides us an summary of bugs that occured on our methods because it aggregates and referentiates our errors.

>> An ERD Device

Any UML design device will do, I exploit Omnigraffle or MySQL Workbench most of the time for that.

>> Model Management System You Use

Mainly Subversion and GIT, however typically I end up with a customer using Mercurial, Workforce Foundation or Bazaar.

DragonBE's Version Control System ToolsetDragonBE’s Model Management System Toolset

>> The Framework(s) You Use

Zend Framework, Apigility, Slim, Silex and Laravel. Of all frameworks, I still love Zend Framework probably the most. I don’t know why, but for some purpose it’s behaviour makes more sense to me than any of the opposite frameworks.

Leaving out the talk if the next are thought-about frameworks, I’ve gotten intently involved with WordPress, Magento, PrestaShop and Typo3. Working with these “frameworks” is a bit awkward, however once you understand the logic behind it, the whole thing is sensible.

I can’t deny that PHP itself is a really powerful know-how and in start-up face of a challenge it’s more than sufficient to work with to get a primary proof of idea. The great thing is, you could simply move native PHP in the direction of any of the above talked about frameworks as long you apply the SOLID rules and adhere to KISS.

>> Your IDE or Your “Programmer’s Editors” of selection

Properly, I already talked about PHPStorm. That’s one thing I exploit 95% of my time creating PHP. The rest of my time I spend utilizing XCode, Zend Studio, Netbeans or Visible Studio.

I’m additionally using “vi” on the command line for modifying work, however I’m not utilizing it as an IDE like the “Supreme Allied Commander“, mister Matthew Weier O’Phinney does.

>> Your Documentation Software?

Code documentation are in the beginning the unit exams, but we additionally provide code documentation utilizing PHPDocumentor.

Consumer documentation I used to write down in O’Reilly’s DocBook format, however nowadays it’s all Markdown. I exploit the build-in editor in PHPStorm or I exploit Mou. It’s a lot easier then in DocBook XML format.

>> PHP Code “Beautifier“

Huh, wait… what? I exploit PHP_CodeSniffer in my pre-commit hook so I can’t commit if my code doesn’t adhere to the coding standards.

If I want compact PHP code, I merely use $ php -w to attenuate my PHP information earlier than deployment.

>> In-Browser Tools (Firefox or Chrome add-ons)

Haha, that is the purpose where I will make myself very unpopular with nearly all of developers.

In improvement I exploit Lynx as my primary browser. It’s solely textual content based mostly, no JavaScript or CSS is supported and is super quick for validating net purposes. With Lynx I see what search index spiders see, but in addition what display readers seize for the visible impaired customers of the online software.

In my other browsers I exploit NoScript (in fact), AdBlocker (to check our shopper’s advertisement methods), Proxy Switcher (for geo-targeted net purposes), Postman REST shopper, YSlow, LiveHeaders, Selenium IDE, FireBug and the XDebug plugin.

>> Net Hosting area you employ

My private stuff ends up on Microsoft Azure as this is the simplest approach to run your PHP apps, interval. I’ve a dedicated hosting for our company web sites, I exploit Google for hosting my personal blog, I’ve acquired some stuff on Heroku, Digital Ocean, Amazon and Azure and some stuff at native Belgian hosting service corporations.

Our clients have the complete spectrum: cloud, dedicated hosting and on-prem.

>> What Software program You Use For The Following:

>>> Time Management


>>> TODO Record Administration

Issues, Phabricator, MantisBT

>>> Your Calender & Events

Google Calendar

>> Any Other Tools You Use That You Need To Share With Us?

Probably the most essential tools you missed out on: communication!

We use Slack everywhere, however Skype continues to be operating robust on 2nd place. GotoMeeting and IRC are additionally heavily used with our clients. Lync and HipChat are less used communication tools. Google Hangouts/Chat, WhatsApp and Fb chat are virtually by no means utilized in professional environments.

I do see an uptake within the more “secure” forms of communication. Tools like OpenPGP, CryptoCat, Chat Secure and Sign are rising in popularity since just lately. I do assume that we’ll see a lot more encrypted communication instruments coming in 2016.

>> Michelangelo ALL That Have been Awesome! Before We Wrap Up, What Are The Two COMMUNITY Tools That Stood Out For You & Why.

  1. The Netflix Chaos Monkey or Simbian Military: Netflix, famous for its streaming film providing, serves a worldwide audience with a very high uptime demand. In order to stress-test their infrastructure, Netflix has created the Simbian Military to perform resilience exams on their reside methods and providers. That is for my part the one legitimate approach to put your infrastructure underneath strain by having key parts being ripped out, shut down or closed off to see if the remaining elements are capable of handling the big usage of your methods.
  2. Composer: I feel that this is not a surprise. Composer has shaken the PHP world and has given builders the power to construct SOLID micro tools that may be combined with others and create a strong system.

Over To You!

That’s it people! Hope you like and luxuriate in what you’ve read. And that you simply now have more awareness of latest tools and the place & how individuals “out there” are using and benefiting from them.

Do you employ any of these tools?

Do you employ one thing totally different?

Both Means, Depart a Comment Under! Cheers!

PS: Don’t overlook to Ask Michelangelo ANY question you’ll have relating to the above by additionally making a remark under, we’ll comply with up!