在类或函数中加载作曲家脚本

时间:2019-07-01 18:08:32

标签: php composer-php

我正在尝试将作曲家脚本加载到我的类或函数中。但是不断出现错误:

Parse error: syntax error, unexpected 'use' (T_USE) in 

我已经搜索了Stack Overflow和Google,并阅读了一些有关名称空间的信息?但是如何将作曲家脚本实现到类或函数中?

function.php,加载autoload.php脚本文件:

 require(TEMPLATEPATH.'/vendor/autoload.php');

自定义功能脚本:

function addToMailchimp($email) {


  use \DrewM\MailChimp\MailChimp;

  $MailChimp_api_key = get_field('mailchimp_api_key', 'option');
  $MailChimp_landings_page = get_field('mailchimp_landings_page', 'option');
  $MailChimp_landings_page_failed = get_field('mailchimp_landings_page_failed', 'option');
  $MailChimp = new MailChimp($MailChimp_api_key);

  if ($email != '') {

    $list_id = '06b233d443';

    $result = $MailChimp->post("lists/$list_id/members", [
        'email_address' => $email,
        'status'        => 'subscribed',
    ]);

    if ($result['detail'] == '') {
        header( 'Location: ' . $MailChimp_landings_page['url']);
        exit;
    } else {
        header( 'Location: ' . $MailChimp_landings_page_failed['url']);
        exit;
    }

  }

}

composer.json文件:

 {
 "require": {
     "drewm/mailchimp-api": "^2.5",
     "mpdf/mpdf": "^8.0"
 },
 "autoload": {
     "psr-4": {
       "DrewM\\MailChimp\\":"src/"
     }
  }
}

1 个答案:

答案 0 :(得分:1)

通常,通常在初始页上设置自动加载,最常见的是在前一个控制器或其他.php文件中调用该文件,然后组织其他操作。 'use'语句也位于函数或类之外,然后位于别名类(此处为MailChimp,位于整个文件中)。

此代码似乎在wordpress或更旧的CMS系统中-可以在插件或类似工具中使用composer。周围有一些例子。