Modern Web Developers have a large variety of tools to ease their line of work and customize their digital workspace to make production cycle smoother and shorter. After years of experience as web developer I will present my personal flavor of workspace, which includes IDE’s, frameworks, OS and more, both paid and free tools.
The OS (operation system) has no real relevance to PHP itself but each has a different set of tools and can majorly affect your productivity.
Mac is my personal favorite of development environment. I find it easy to configure and its structure is close enough usually to the server structure that will be hosting your projects on. In general in my point list OS X is the first by not by far.
This is the OS I use in my personal project, price being a factor but mostly a back-to-the-roots journey is always good. I just love the variety and the absolute control you have when you use Linux.
Windows 2000 was my starting point as a PC user, and always will hold a special place in my heart but I simply prefer the other to OS’s for developing. I use windows for other purposes, mainly gaming, but this doesn’t mean it is any less of viable environment for developing. The thing is that you will probably need to make a few extra steps every now and then to configure a module you want to use etc.
The obvious and common choice is Eclipse… but personally I prefer NetBeans. Simply because I am comfortable with and can also support my Java projects. They are both really good choices, in a complete comparison though, Eclipse would be the winner for me. Mostly the massive community based plugin pool makes extremely modular.
Keep in mind you can also get by using a Text Editor such as Atom or Notepad++ and use their numerous plugins to enhance productivity.
For a paid IDE it’s a no brainer for me, I vote for PhpStorm hands-down. It’s price is very reasonable for what it offers and it’s plugins and features will for sure maximize performance. I’d definitely recommend to give it a try, currently PhpStorm offers a 30-days-free trial, enough for you to consider if its worth the investments.
Have a look here: PhpStorm
To start developing php you will need to setup certain components, the basic are: PHP and MySQL. You can for sure install each individually and start a local server with the php -S command for example but I would recommend to have a packed stack with Graphical User Interface such as XAMPP, LAMP or MAMP.
If you are using OS X or Windows my personal favorite is MAMP PRO. It supports multiple host instances which you can run simultaneously working multiple projects at the same time, in general a good tool for serious programming.
For linux I prefer to individually install components and run PHP servers to each project I working on on the spot. I made a super simple Java app where I added buttons for each of my project and simply click each button to start a local server, probably will here upload it at some point.
Check it out: MAMP
Database Management Applications
Database management application, as the name implies, is the app you use to manage your databases. The most standard is the PhpMyAdmin it is fairly simple and powerfull but there are many others to explore depening the OS you are using. For Linux I use DBeaver Community, for windows PhpMyAdmin and for OS X Sequel pro, which unfortunately its official stable version is very old and not compatible with latest OS X version but its nightly editions are updated and to my experience are very stable as well.