ts / reader-excel
此包已被废弃且不再维护。未建议替代包。
ts/reader 的 Excel 插件,我的可扩展字符串和文件读取库。
此包尚未发布版本,且可用的信息很少。
README
ts/reader 的 Excel 插件,我的可扩展字符串和文件读取库。
安装
使用 Composer 安装: composer require ts/reader-excel:~2.0
直接使用实现
如果您确切知道要读取的内容,可以直接实例化读取器实现。
use TS\Reader\Implementation\Json; $jsonReader = new Json; // Setting a json string $jsonReader->setString('{ "key": "value" }'); // Setting a json file $jsonReader->setFile(/* path to .json file */); // Reading the data $data = $jsonReader->readAll();
使用 ReaderContainer
您可以直接使用 reader container 创建读取器,而不必直接实例化读取器实现,只需要进行一些初始化。
use TS\Reader\ReaderContainer; $container = new ReaderContainer; // Registration $container->registerReader('TS\\Reader\\Implementation\\Json', ['json']); // Register further implementations... // Creation using a json string $reader = $container->createForString('json', '{ "key": "value" }'); // Creation using a json file $reader = $container->createForFile(/* path to .json file */); // Reading the data $data = $reader->readAll();
使用 Symfony EventDispatcher
通过利用 Symfony 的 EventDispatcher 组件,您可以拦截或影响读取器生命周期的大多数部分。
要充分利用 EventDispatcher 的功能,您需要在创建 ReaderContainer 或读取器实现时显式传递一个实例。
use Symfony\Component\EventDispatcher\EventDispatcher; use TS\Reader\Implementation\Json; use TS\Reader\ReaderContainer; // Instantiate or get the EventDispatcher instance from somewhere, like a service/DI container $dispatcher = new EventDispatcher; // Pass it to the reader implementation or container $jsonReader = new Json($dispatcher); $container = new ReaderContainer($dispatcher);
您现在可以监听以下事件,这些事件在 TS\Reader\ReaderEvents
类中进行了描述:
- INIT: 在读取器构造函数中触发。
- READ: 读取后触发。
- READ_COMPLETE: 当所有内容都读取完毕时触发。
- READ_LINE: 读取一行时触发。