-- Hector Virgen <[email protected]> wrote
(on Monday, 05 April 2010, 04:27 PM -0700):
> This sounds like a really good idea! But I'm not too sure about the namespace
> "Encode". Do you think there might be more opportunities for two-way
> transformation besides just encoding? I'm thinking gzip/deflate, encrypt/
> decrypt, etc.
Please don't forget that We _do_ already have Filters for encryption and
compression, as well as Zend_Crypt; let's not re-invent the wheels we've
already built. :)
Also, based on the description here, I would argue that the primary
functionality already exists and can be accomplished in Zend_Filter. The
only areas I see as being potenentially new would be URL and Base64
encoding - and these could be added to Zend_Filter easily.
As an example:
// Encryption
$filter = new Zend_Filter();
$filter->addFilter(new Zend_Filter_Encrypt(array('adapter' => 'base64')))
->addFilter(new Zend_Filter_Encrypt(array('adapter' =>
'urlencode')));
$encrypted = $filter->filter($someValue);
// Decryption
$filter = new Zend_Filter();
$filter->addFilter(new Zend_Filter_Decrypt(array('adapter' => 'urlencode')))
->addFilter(new Zend_Filter_Decrypt(array('adapter' => 'base64')));
$decrypted = $filter->filter($encrypted);
The API is slightly different than what is presented here, but the
results would be the same.
> On Fri, Apr 2, 2010 at 2:17 PM, OnyxRaven <[email protected]> wrote:
>
>
> 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 the same Zend_Encoder based class should be just an
> identity to the value passed in.
>
> (given scalar $x, $params to Crypt;)
> $enc = new Zend_Encoder_Crypt($params);
> $y1 = $enc->encode($x);
> $y2 = $enc->decode($y1);
> 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-tp1749646p1749646.html
> Sent from the Zend Framework mailing list archive at Nabble.com.
>
>
--
Matthew Weier O'Phinney
Project Lead | [email protected]
Zend Framework | http://framework.zend.com/
PGP key: http://framework.zend.com/zf-matthew-pgp-key.asc