Here is my code. Yes the documentation is awful for phpactor and it takes some digging. I have this currently and it shows how to use transients and bind them to a key in php-mode. Hopefully useful to someone.
Just guessing here because I can't replicate the issue, but do the following slightly different functions work?
(defun my/indent-region-left-tab ()
(let ((c-syntactic-indentation nil))
(indent-rigidly (region-beginning) (region-end) -4))
(setq deactivate-mark nil))
(defun my/indent-region-right-tab ()