xepozz / clk-parser
There is no license information available for the latest version (1.0.0) of this package.
KittenHouse *.clk files Parser
1.0.0
2024-04-21 18:23 UTC
Requires
- php: ^8.2
Requires (Dev)
- phpunit/phpunit: ^10
- vimeo/psalm: ^5.23
This package is auto-updated.
Last update: 2024-10-21 19:43:26 UTC
README
Parses *.clk
buffers and presents table name, columns and values as separated entities.
Installation
composer req xepozz/clk-parser
Usage
$parser = new \Xepozz\ClkParser\Parser(); $result = $parser->parseContent(file_get_contents('/path/to/file.clk')); $result->table // access table name $result->columns // access array of column names $result->values // access iterable values in a pair of column names: [column => value, ...]
Example
$parser = new \Xepozz\ClkParser\Parser(); $result = $parser->parseContent(<<<TEXT # started at 15-Apr-24 08:06:25 # schema.table_name(date,email,event,params)9F9C34E2 (1111,'email','Startup',[1,2,3]),(2222,'email','Click',[])4CDA8189 (-1111,'','Shutdown',[-1,'string',3,''])4CDA8189 TEXT );
Result is an object of type \Xepozz\ClkParser\Result
:
echo $result->table; // schema.table_name var_dump($result->columns); /** array(4) { [0]=> string(4) "date" [1]=> string(5) "email" [2]=> string(5) "event" [3]=> string(6) "params" } */ var_dump(iterator_to_array($result->values)); /** array(3) { [0]=> array(4) { ["date"]=> string(4) "1111" ["email"]=> string(7) "'email'" ["event"]=> string(9) "'Startup'" ["params"]=> string(7) "[1,2,3]" } [1]=> array(4) { ["date"]=> string(4) "2222" ["email"]=> string(7) "'email'" ["event"]=> string(7) "'Click'" ["params"]=> string(2) "[]" } [2]=> array(4) { ["date"]=> string(5) "-1111" ["email"]=> string(2) "''" ["event"]=> string(10) "'Shutdown'" ["params"]=> string(18) "[-1,'string',3,'']" } } */