IO/ICompression - Standardized interface for compression and decompression of data - #1239
IO/ICompression - Standardized interface for compression and decompression of data#1239belisoful wants to merge 4 commits into
Conversation
|
There is a question here on what to do: If the compressors are part of io, then they should be included here for the move. Another question: Should we have an XZ Compressor as a stub for a future possible PHP repo for it? (My preference is yes, because of the next question) PRADO is the layer for and on top of PHP, not OS cli dependent. |
|
The "modern way" is to try to split everything up in a lot of small, more manageable repos and including them.
The final decision for the IO/compressor repo is up to you. |
|
I am just a little torn between the old monolithic way and modern "split everything" way. I want to go with the trends. That may be a PRADO 5 thing, to break up prado into smaller chunks. OK. The Compressor classes go in IO. I'm going to include an XZ stub for the future. They will only be based on PHP and PHP extensions. This is a similar seam split as Prado Data, only supporting what is in PHP. I'll do my own repo that supports the cli version. It will fit well as a Fallback for the standard PHP compressors, though XZ is CLI only at this point. |
…r, TZlibCompressor, TDeflateCompressor, TBzip2Compressor, TZstdCompressor, TBrotliCompressor), TCompression negotiation facade, TCliCompressor/TCliCompressorTrait CLI backend, TXzCompressor stub - unit tests, classes.php, messages.txt
Implementing it lets a caller select a compression codec without binding to one algorithm.