PHP is a dynamically typed language, and is very popular among developers for building websites. The dynamic features of PHP allow for many kinds of type related errors to be made by developers. Since PHP does not feature a static type checker, these errors cannot be detected until runtime. When such an error is encountered, it often results in the application to crash, thus possibly loosing valuable computational time and effort. Worse yet, the PHP compiler may use type coercion to convert an incompatible data to the required type, and in doing so, introduce an extremely hard-to- trace application bug.\r\n In this research, we address this problem by building a type-checker that performs a flow-sensitive type-inference of PHP expressions...