安装了未找到作曲家的phphague Csv库中的类

时间:2016-02-09 05:57:35

标签: php csv composer-php

我安装了作曲家,我可以安装和使用monolog,Basic usage guide解释。但它对Csv library from The Php League没有用。

以下是我所做的步骤:

1)创建一个空目录

2)安装monolog

$ composer require monolog/monolog

3)检查它是否有效

关注the composer documentation

从php交互式控制台(用php -a初始化):

php > require __DIR__ . '/vendor/autoload.php';
php > $log = new Monolog\Logger('name');
php > $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::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)检查它是否有效

关注league/csv documentation

从php交互式控制台(你知道,php -a):

php > require __DIR__ . '/vendor/autoload.php';
php > use League\Csv\Reader;
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

1 个答案:

答案 0 :(得分:2)

使用PHP交互式shell时,似乎使用语句不能正常工作。否则,Reader的use语句将被捕获,错误将类似于" PHP致命错误:Class' League \ Csv \ Reader'在第1行"

的php shell代码中找不到

要在shell中试用,请像使用monolog示例一样使用FQCN(或QCN):

php > require __DIR__ . '/vendor/autoload.php';
php > $reader = League\Csv\Reader::createFromPath('file.csv');