我安装了作曲家,我能够按照基本使用指南的说明安装和使用monolog。但它不适用于 The Php League 的 Csv 库。
以下是我执行的步骤:
1) 创建一个空目录
2)安装在那里独白
$ composer require monolog/monolog
3)检查它是否有效
遵循作曲家文档。
从 php 交互式控制台(使用 php -a
初始化):
php > require __DIR__ . '/vendor/autoload.php';
php > $log = new MonologLogger('name');
php > $log->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING));
php > $log->addWarning('Foo');
然后,我从控制台验证了app.log
内容:
$ cat app.log
[2016-02-09 00:55:06] name.WARNING: Foo [] []
4) 从 leage 安装 csv
$ composer require league/csv
5)检查它是否有效
以下联赛/csv 文档。
从 php 交互式控制台(你知道,php -a
):
php > require __DIR__ . '/vendor/autoload.php';
php > use LeagueCsvReader;
php > $reader = Reader::createFromPath('file.csv');
我收到此错误:
PHP Fatal error: Class 'Reader' not found in php shell code on line 1
为什么以及如何?
- 为什么它适用于
monolog/monolog
但不适用于league/csv
? - 如何使用 php 交互式控制台中的
league/csv
?
使用 PHP 交互式 shell 时,use 语句似乎无法正常工作。否则,Reader
的 use 语句将被捕获,错误将是类似于"PHP 致命错误:在第 1 行的 php shell 代码中找不到类'联盟\Csv\Reader'"
要在外壳中试用它,请使用 FQCN(或 QCN),就像处理单日志示例一样:
php > require __DIR__ . '/vendor/autoload.php';
php > $reader = LeagueCsvReader::createFromPath('file.csv');