ZF-4764: Zend_Server_Abstract changed breaking backwards compability

Description

Why did the Zend_Server_Abstract have to change? I know this is part of performance issue fixing, but this shouldn't change the backwards compability of the abstract class!

Rather create a new Abstract class that inherits from the old one.

Comments

additionally the change also removed that strange lower() static function in the abstract class which is not used by any Zend component anymore but nevertheless COULD be used by a 3rd party. It has to readded to the class until 2.0 for BC reasons!

I will re-instate the missing public methods to Zend_Server_Abstract. However, a couple of notes:

  • Prior to the recent refactoring, the only class that extended it from within ZF was Zend_Rest_Server. All functionality present in it was specific to that implementation.
  • The currently coded functionality actually is shared now, between both the XmlRpc and Json server implementations. I plan to refactor Zend_Rest_Server to make use of it in the future
  • All old methods and properties that have been removed will be marked as deprecated, and the methods will now trigger an error (E_USER_NOTICE) noting this.

Honestly, I've heard of nobody building on Zend_Server_Abstract, and I suspect it's because it simply had no value previously.

BTW, the new implementation offers the ability to create Zend_Server_Definition objects -- which make it trivial to perform the actual implementation of servers, as well as to share server definitions between different protocols.

I havent heard of anyone building on Zend_Server_Abstract either.

Due to no obvious reason Zend_Soap_AutoDiscover extends Zend_Server_Abstract. I want to change that but will wait for the 2.0 release to make that BC change.

$magic_methods protected member and lowerCase() static method re-added as of r12300, but marked as deprecated.

Changing issues in preparation for the 1.7.0 release.