使用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中
然后我注意到,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;上述路径在项目中根本不存在.编写器安装的项目文件和文件夹,它们与它们内部的代码use和require短语不匹配。
我安装错了吗?有没有其他方法可以使用composer.json文件,这样我就可以正确地安装项目,而不用在目录中使用连字符(Php)?
已安装的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版本: 2010
发布于 2018-02-06 13:26:33
安装似乎是正确的。require != use使用是一个名称空间,这个on是在Client.php中定义的,这是自动加载的。client.php第6行:namespace jamesiarmes\PhpEws;
https://stackoverflow.com/questions/46481166
复制相似问题