Learning to set up a Development Environment for web Application Projects on OSX

Install Local Server Environment :

To keep it simple, I use MAMP, a one-click-solution to set up my personal developing environment.

I  download the current version from https://www.mamp.info/en/ including the php-version, if other needed then included in the MAMP app. For creating one single development environment the free version is great. For multiple projects the PRO version is reasonable.

I run the installer of MAMP.pkg

Systemwide PHP Version

To make sure I also operate on the same php version like MAMP when running commands from the terminal I update OS X’x PHP version to MAMP’s Version like this:

nano ~/.profile

add to .profile:

export PATH="/Applications/MAMP/bin/php/phpVERSION-#-HERE/bin:$PATH"
export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH"

Run source command to make this changed active:

source ~/.profile

Check if it’s working with:

php -v

Enable MySQL Commands to run From Terminal

To enable MySQL commands to be run without entering the whole path each time when using on the command line I add as above for the PHP-Version to .profile:

nano ~/.profile

I add to .profile:

export PATH="/Applications/MAMP/Library/bin:$PATH"

I ru the source command to make this changed active:

source ~/.profile

And I check if it’s really working by typing in a MySQL command such as:

MySQL --version

Subversion to Check out Code From Repositories

Subversion is already a part of OS X. Maybe not the newest version, but usable.
So no further steps to be taken.

Check out the Code:

To check out the code I will be working with I use svn checkout command in the directory to which I want the code to be downloaded to:

svn co https://path-to-the-repository/trunk trunk

svn: runs the subversion application
co: runs a checkout
https://path-to-the-repository/trunk: is the remote path where subversion will download the code from
trunk: tells subversion to download the code to a to be created folder called “trunk”

Install Composer Dependencies Locally

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

https://getcomposer.org/doc/00-intro.md

The above link tells in detail how to install.

Setup PhpStorm

PhpStorm is an integrated development environment that helps with a lot of little details. It costs quite some, but there is a 30 day free trial that showed my the worth of this purchase.

The link below hold all infos for setting up PhpStorm:

https://confluence.jetbrains.com/display/PhpStorm/Installing+and+Configuring+MAMP+with+PhpStorm+IDE

Setup Xdebug

Xdebug is a PHP extension which provides debugging and profiling capabilities.

https://en.wikipedia.org/wiki/Xdebug

https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

and with MAMP:

http://stackoverflow.com/questions/11618178/settings-up-xdebug-on-mamp-pro

Ressources I’ve Been Using to Learn This:

https://www.mamp.info/en/

https://www.tutorialspoint.com/svn/index.htm

https://getcomposer.org/doc/00-intro.md

https://confluence.jetbrains.com/display/PhpStorm/Installing+and+Configuring+MAMP+with+PhpStorm+IDE

https://en.wikipedia.org/wiki/Xdebug

https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

http://stackoverflow.com/questions/11618178/settings-up-xdebug-on-mamp-pro