Running "php boom.php" will activate the virus. It will copy itself to any file with the .php extension within the folder, these newly infected files will continue to infect non-infected files when being runned.
The virus does make use of encryption/decryption to try prevent it being detected by antimalware/antiviruses softwares.
This virus only copy itself nothing else, very straight forward. The payload can obviously be altered to do a lot of things. Virus is just code, and intent is the key word making it malicious or not. This code copies itself to other files hiding with encryption. This is a first step into understanding behaviour of malicious code.
You could make use of https://www.virustotal.com/ in further developement of the payload. For the record, I have had a local copy of malwarebytes and bitdefender triggered when running earlier versions of the boom.php file.
This code is for educational purpose only. I will not be held accountable for any missuse. This is purely to get a grasp of malicious codes.