#Changelog
All Notable changes to League\Csv will be documented in this file
AbstractCSV::setOutputBOMAbstractCSV::getOutputBOMAbstractCSV::getInputBOM
to manage BOM character with CSV.
Writer::setNewline,Writer::getNewlineto control the newline sequence character added at the end of each CSV row.
Reader::fetchAssocnow also accepts an integer as first argument representing a row index.
- Bug Fixed
detectDelimiterList
- Stream Filter API in
League\Csv\AbstractCsv - named constructors
createFromPathandcreateFromFileObjectinLeague\Csv\AbstractCsvto ease CSV object instantiation detectDelimiterListinLeague\Csv\AbstractCsvto replace and remove the use ofRuntimeExceptionindetectDelimitersetEncodingFromandsetDecodingFrominLeague\Csv\AbstractCsvto replacesetEncodingandgetEncodingfor naming consistencynewWriterandnewReadermethods inLeague\Csv\AbstractCsvto replaceLeague\Csv\Writer::getReaderandLeague\Csv\Reader::getWriter
- Nothing
League\Csv\Reader::eachmore strict$callableMUST returns true
League\Csv\AbstractCsv::detectDelimiterLeague\Csv\AbstractCsv::setEncodingandLeague\Csv\AbstractCsv::getEncodingLeague\Csv\Reader::setSortByLeague\Csv\Reader::setFilterLeague\Csv\Reader::getWriterLeague\Csv\Writer::getReader
- Nothing
League\Csv\Writer::setColumnsCount,League\Csv\Writer::getColumnsCount,League\Csv\Writer::autodetectColumnsCountto enable column consistency in writer mode- League\Csv\Reader::fetchColumn replaces
League\Csv\Reader::fetchColfor naming consistency
League\Csv\Reader::fetchCol
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
$open_modedefault tor+inLeague\Csv\AbstractCsvconstructors
- Nothing
- Nothing
League\Csv\Writer::setNullHandlingModeandLeague\Csv\Writer::getNullHandlingModeto handlenullvalue
- Nothing
setting ini_set("auto_detect_line_endings", true);no longer needed for Mac OS
- Nothing
- Nothing
League\Csv\Reader::addSortBy,League\Csv\Reader::removeSortBy,League\Csv\Reader::hasSortBy,League\Csv\Reader::clearSortByto improve sortingLeague\Csv\Reader::clearFilterto align extract filter capabilities to sorting capabilities
League\Csv\Reader::setSortByreplaced by a better implementation
League\Csv\Reader::setOffsetnow default to 0;League\Csv\Reader::setLimitnow default to 0-1;detectDelimiterbug fixes
- Nothing
- Nothing
League\Csv\Reader::eachto ease CSV import dataLeague\Csv\Reader::addFilter,League\Csv\Reader::removeFilter,League\Csv\Reader::hasFilterto improve extract filter capabilitiesdetectDelimitermethod toLeague\Csv\AbstractCsvto sniff CSV delimiter character.
League\Csv\Reader::setFilterreplaced by a better implementation
- Nothing
- Nothing
- Nothing
- Change namespace from
Bakame\CsvtoLeague\Csv
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
$open_modevalidation is done by PHP interals directly
- Nothing
- Nothing
toXMLmethod to transcode the CSV into a XML inBakame\Csv\AbstractCsv
- Nothing
toHTMLmethod bug inBakame\Csv\AbstractCsvoutputmethod accepts an optional$filenameargumentBakame\Csv\Reader::fetchColdefault to$columnIndex = 0Bakame\Csv\Reader::fetchOnedefault to$offset = 0
- Nothing
- Nothing
- Move from
PSR-0toPSR-4to autoload the library
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
Bakame\Csv\Readermethods fixedjsonSerializebug fixed
- Nothing
- Nothing
getEncodingandsetEncodingmethods toBakame\Csv\AbstractCsv
- Nothing
Bakame\Csv\Writer::insertOnetakes into account CSV controlstoHTMLmethod takes into account encoding
- Nothing
- Nothing
Bakame\Csv\WriterBakame\Csv\WriterandBakame\Csv\ReaderextendBakame\Csv\AbstractCsv
- Nothing
Bakame\Csv\Reader::fetchOneis no longer deprecatedBakame\Csv\Reader::fetchColno longer accepts a third parameter$strict
Bakame\Csv\Codecnow the library is composer of 2 main classesBakame\Csv\Reader::getFileBakame\Csv\Reader::fetchValueBakame\Csv\Readerno longer implements theArrayAccessinterface
- Nothing
Bakame\Csv\ReaderimplementsIteratorAggregateInterfaceBakame\Csv\Reader::createFromStringto create a CSV object from a raw stringBakame\Csv\Reader::queryaccept an optional$callableparameter
Bakame\Csv\Reader::getFilein favor ofBakame\Csv\Reader::getIterator
Bakame\Csv\ReaderInterfaceuseless interface
Bakame\Csv\Reader::fetch*$callableparameter is normalized to accept an arrayBakame\Csv\Reader::fetchColaccepts a third parameter$strict
- Nothing
Bakame\Csv\Readerimplements the following interfacesJsonSerializableandArrayAccessBakame\Csv\Reader::toHTMLto output the CSV as a HTML tableBakame\Csv\Reader::setFilter,Bakame\Csv\Reader::setSortBy,Bakame\Csv\Reader::setOffset,Bakame\Csv\Reader::setLimit,Bakame\Csv\Reader::queryto perform SQL like queries on the CSV content.Bakame\Csv\Codec::setFlags,Bakame\Csv\Codec::getFlags, Bakame\Csv\Codec::__construct : add an optional$flagsparameter to enable the use ofSplFileObjectconstants flags
Bakame\Csv\Reader::fetchOnereplaced byBakame\Csv\Reader::offsetGetBakame\Csv\Reader::fetchValueuseless method
- Nothing
- Nothing
- Nothing
Bakame\Csv\Reader::outputoutput the CSV data directly in the output bufferBakame\Csv\Reader::__toStringcan be use to echo the raw CSV
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
Bakame\Csv\Reader::fetchAssocwhen users keys and CSV row data don't have the same length
- Nothing
Bakame\Csv\ReaderInterfaceBakame\Csv\Readerclass
- Nothing
- Nothing
Bakame\Csv\Codec::loadStringreturns aBakame\Csv\ReaderobjectBakame\Csv\Codec::loadFilereturns aBakame\Csv\ReaderobjectBakame\Csv\Codec::savereturns aBakame\Csv\Readerobject
- Nothing
Bakame\Csv\CsvCodecclass renamedBakame\Csv\Codec
- Nothing
Bakame\Csv\Codec::createfrom public API
- Nothing
- Nothing
Initial Release of Bakame\Csv