0

php-ews使用作曲家安装:

{
  "minimum-stability": "dev",
  "prefer-stable": true,
  "require":
  {
    "php-ews/php-ews": "dev-master"
  }
}

安装顺利。

在我的项目代码中提出了这个简单的请求:

require_once 'composer/vendor/autoload.php';
use \php-ews\php-ews\src\Client;

$host = 'my.server.co.il';
$username = 'user@server.co.il';
$password = 'myPass';
$version = Client::VERSION_2010;

$client = new Client($host, $username, $password, $version);

但是 PHP 在其命令路径中不接受连字符 (-) use,我得到了错误:

PHP 解析错误:语法错误,意外的 '-',期待 ',' 或 ';' 在 /var/www/html

然后我注意到,项目use的所有代码文件中的短语路径与php-ews使用 composer 安装的项目文件完全不匹配。例如,在create.php文件中有以下use短语:

use \jamesiarmes\PhpEws\Client;
use \jamesiarmes\PhpEws\Request\CreateItemType;

use \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAllItemsType;
use \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttendeesType;

use \jamesiarmes\PhpEws\Enumeration\BodyTypeType;
use \jamesiarmes\PhpEws\Enumeration\CalendarItemCreateOrDeleteOperationType;
use \jamesiarmes\PhpEws\Enumeration\ResponseClassType;
use \jamesiarmes\PhpEws\Enumeration\RoutingType;

项目中根本不存在上述路径.... composer安装的项目文件和文件夹,它们与其中的代码userequire短语不匹配。

我是否进行了错误的安装?还有其他方法可以使用composer.json文件,以便我可以正确安装项目,而目录中没有连字符(php-ews)?

php-ews安装版本:

"packages": [{
  "name": "jamesiarmes/php-ntlm",
  "version": "1.0.0-beta.1",
  "extra": {
    "branch-alias": {
      "dev-master": "1.0.x-dev"
    }
  }
}]

Linux Centos 7
PHP 版本:5.4.16
Microsoft Exchange 版本:2010

4

1 回答 1

0

安装似乎正确。 require != use use 是一个命名空间,它在 Client.php 中定义,它是自动加载的。client.php 第 6 行: namespace jamesiarmes\PhpEws;

于 2018-02-06T13:26:33.337 回答