繁体   English   中英

php-ews文件夹根本不匹配php-ews代码

[英]php-ews folders do not match php-ews code at all

使用composer安装的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中

然后我注意到,在php-ews项目的所有代码文件中, use短语的路径根本与使用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;

以上路径甚至在项目中根本不存在。...作曲家安装的项目文件和文件夹,它们与代码use不匹配,并且其中require短语。

我做错了安装吗? 还有其他方法可以使用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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM