I've been doing some work with some of the symmetric Filters - especially
encryption and urlencoding.  What I've come up with is a more 'formal' class
which encompasses and encoder and a decoder.   

The idea is that for the same Zend_Encoder based class, encode->decode
should be just an identity to the value passed in. 

(given scalar $x, $params to Crypt;) 
$enc = new Zend_Encoder_Crypt($params); 
$y0 = $enc->encode($x); 
$y = $enc->decode($y0); 
assert($x === $y); 

An Encoder could easily be just a composition of Filter objects. 

Encoder chaining would run encode() in the order specified in the chain, but
decode() would run in reverse order. 

$enc->addEncoder(Zend_Encoder_Base64) 
$enc->addEncoder(Zend_Encoder_UrlEncode); 
$enc->encode(); // runs Base64->encode(); UrlEncode->encode(); 
$enc->decode(); // runs UrlEncode->decode(); Base64->decode(); 

Is this a valuable class?  If so, I'll happily put together the proposal and
start up some basic implementations.
-- 
View this message in context: 
http://n4.nabble.com/idea-Zend-Encoder-tp1750941p1750941.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to