使用不被识别未找到“MailChimp”类

时间:2017-08-16 12:21:55

标签: php namespaces composer-php

我正在使用此mailchimp-api根据我应该放置的文档

use \DrewM\MailChimp\MailChimp;

$MailChimp = new MailChimp('abc123abc123abc123abc123abc123-us1');

目录结构

  • index.php(这是我使用use调用我使用的任何库的地方)

  • composer.json

  • vendor(这是包含来自git和autoload文件的所有库的文件夹)

    - drewm

    --- mailchimp-api

    ---- src(此文件夹包含具有namespace DrewM\MailChimp;的Mailchimp.php)

  • configs(配置目录)

    - functions.php(此文件包含mailchimp的功能)

现在每当我调用此mailchimp()函数时,我都会

  

致命错误:未捕获错误:类'DrewM \ MailChimp \ MailChimp'没有   结果

composer.json文件

{
    "require": {
        "drewm/mailchimp-api": "^2.4",
        "ircmaxell/random-lib": "^1.2",
        "phpmailer/phpmailer": "^5.2"
    }
}

的index.php

require_once './vendor/autoload.php';
require_once './config/functions.php';

的functions.php

use \DrewM\MailChimp\MailChimp;
function mailchimp(){
    $MailChimp = new MailChimp('abc123abc123abc123abc123abc123-us1');
    $result = $MailChimp->get('lists');
    print_r($result);
}

2 个答案:

答案 0 :(得分:1)

可能函数类不在Composer的自动加载器下。您应该添加composer.json文件的自动加载部分作为示例:

"autoload": {
    "psr-0": { "": "./" },
    "files": ["configs/functions.php"]
}

从index.php中删除functions.php的require_once指令

希望这个帮助

答案 1 :(得分:0)

您需要在functions.php中包含mailchimp

use \DrewM\MailChimp\MailChimp;

或者您可以使用

function mailchimp(){
    $MailChimp = new \DrewM\MailChimp\MailChimp($apikey);
    $result = $MailChimp->get('lists');
    return $result;
}

并传递课程中的$apikey