Composer Uncaught Error: Class 'Instasent\SMSCounter\SMSCounter' not found

Composer Uncaught Error: Class 'Instasent\SMSCounter\SMSCounter' not found

我有文件夹 /home/wira/wirdev/smscounter, 在该文件夹中,我正在从 https://github.com/instasent/sms-counter-php 安装短信计数器,安装完成。现在我的文件夹里面是这样的:

.
├── checkSMSSegment.php
├── composer.json
├── composer.lock
├── sms.txt
├── tesSMSLength.php
└── vendor
    ├── autoload.php
    ├── composer
    │   ├── autoload_classmap.php
    │   ├── autoload_namespaces.php
    │   ├── autoload_psr4.php
    │   ├── autoload_real.php
    │   ├── autoload_static.php
    │   ├── ClassLoader.php
    │   ├── installed.json
    │   └── LICENSE
    └── instasent
        └── sms-counter-php
            ├── composer.json
            ├── LICENSE-MIT
            ├── phpunit.xml.dist
            ├── README.md
            ├── SMSCounter.php
            └── Tests
                └── SMSCounterTest.php

这是我想要的代码 运行 (tesSMSLength.php) :

<?php
use Instasent\SMSCounter\SMSCounter;

$text = file_get_contents(dirname(__FILE__)."/sms.txt");

$smsCounter = new SMSCounter();
$result = $smsCounter->count($text);

print_r($result);

现在我想 运行 我的代码通过键入 sudo php tesSMSLength.php 使用这个库,但它显示错误 class not found like this :

[wira@DevWira smscounter]$ sudo php tesSMSLength.php
PHP Fatal error:  Uncaught Error: Class 'Instasent\SMSCounter\SMSCounter' not found in /home/wira/wirdev/smscounter/tesSMSLength.php:6
Stack trace:
#0 {main}
  thrown in /home/wira/wirdev/smscounter/tesSMSLength.php on line 6

我在这里缺少什么?

这是composer.json内容:

{
    "require": {
       "instasent/sms-counter-php": "^0.4"
    },
    "autoload": {
        "psr-4": {
            "Instasent\SMSCounter\": ""
        }
    },
}

如果您的代码是 CLI 脚本,则您缺少文件顶部的自动加载导入:

<?php

require 'vendor/autoload.php';

use Instasent\SMSCounter\SMSCounter;

...

此外,由于 instasent/sms-counter-php 已经在其 composer.json 文件中包含 autoload 配置,您不必自己将其包含在 composer.json.