
* Milestone 6: Future compression adapters
{zone-data}
{zone-data:class-list}
* Zend_Filter_Compress
* Zend_Filter_Compress_Interface
* Zend_Filter_Compress_Bzip2
* Zend_Filter_Compress_Lzf
* Zend_Filter_Compress_Rar
* Zend_Filter_Compress_Zip
* Zend_Filter_Compress_Zlib
* Zend_Filter_Decompress
{zone-data}
{zone-data:use-cases}
||UC-01||
Manual compression
{code}
$filter = new Zend_Filter_Compress('zip');
$newname = $filter->filter('/path/to/file.exe');
{code}
||UC-02||
Manual decompression
{code}
$filter = new Zend_Filter_Decompress('zip');
$newname = $filter->filter('/path/to/file.exe');
{code}
||UC-03||
Compression and store it under a new filename
{code}
$filter = new Zend_Filter_Decompress(array('format' => 'zip', 'filename' => '/path/newfilename.zip'));
$newname = $filter->filter('/path/to/file.exe');
{code}
||UC-04||
Using Zend_File_Transfer with compression
{code}
$file = new Zend_File_Transfer_Adapter_Http();
$file->addFilter('Compress', 'Zip');
{code}
||UC-05||
Using Zend_Form_Element_File with compression
{code}
$element = new Zend_Form_Element_File('myelement');
$element->addFilter('Compress', 'Zip');
{code}
{zone-data}
{zone-data:skeletons}
{code}
class Zend_Filter_Compress_Interface
{
public compress($filename);
public decompress($filename);
}
class Zend_Filter_Compress_Zip implements Zend_Filter_Compress_Interface
{
/**
* Compresses a file with ZIP compression
* @return string
*/
public compress($filename)
{}
/**
* Decompresses a file using ZIP compression
* @return string
*/
public decompress($filename)
{}
}
class Zend_Filter_Compress extends Zend_Filter
{
public filter($value)
{}
}
class Zend_Filter_Decompress extends Zend_Filter
{
public filter($value)
{}
}
{code}
{zone-data}
{zone-template-instance}