I have a big web application that worked in PHP 5.3.2 with Zend FrameWork, and was migrated to a new server with PHP 5.4.2. Most of it still works, but there is a small part (let's call it the "import") that gives an error:
Declaration of RptSchdlMdfctnBO::getWorkFlowData() should be compatible with WorkFlowBaseBO::getWorkFlowData($Id), file /www/vrs/vrs/application/models/wrkflows/RptSchdlMdfctnBO.php, line79
What happens is that there is this class RptSchdlMdfctnBO, with an empty method getWorkFlowData($Id), which is redefined in many places with the same arguments. But in the import part, this method is redefined with two arguments, and then it is always called with two arguments; apparently, this is not accepted in PHP 5.4.2. I tried to change the definition of the method to accept a second, optional argument but this did not change anything:
public function getWorkFlowData($Id,$Flags=0)
Two questions: 1) Can you please link me to a place where this behaviour change in PHP is explained? 2) What is the least dangerous workaround for getting the import function to work?