PHP ETL (Extract / Transform / Load) library with SOLID principles + almost no dependency.
MIT License
Published by bpolaszek over 5 years ago
3.0 alpha is out! This is a complete redesign of the library, so don't upgrade from 2.5 if you don't intend to refactor your whole app, since almost everything has changed. This is now a lot simpler:
iterable
, you don't need one.ContextElement
object to carry data during the ETL lifecycle - no need for that wrapper anymore.\Generator
even if they just transform a single value. Because transformers can now transform 1 thing into multiple others.\Generator
is expected to be injected into all loaders.Published by bpolaszek over 7 years ago
Published by bpolaszek over 7 years ago
The extract, transform, or load part of the ETL process may sometimes throw exceptions.
Before throwing it, we should be able to hook on the exception, handle it, and decide wether or not to continue the process.
You can now use CsvFileIterator
or CsvStringIterator
to iterate over your CSVs.
Also check KeysAwareCsvIterator
to automatically assign the keys of each CSV row (you can turn an indexed array into an associative one). Check out the Iterators documentation.