首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载类EWSType_FindItemType时发生致命错误(php-ews)

加载类EWSType_FindItemType时发生致命错误(php-ews)
EN

Stack Overflow用户
提问于 2011-08-11 22:09:40
回答 2查看 2.2K关注 0票数 3

我从来没有真正玩过类,但我希望在我正在处理的页面上使用php-ews

我的主文件是通过include调用5个"root“php文件

代码语言:javascript
复制
include ("php-ews/ExchangeWebServices.php");
include ("php-ews/EWS_Exception.php");
include ("php-ews/EWSType.php");
include ("php-ews/NTLMSoapClient.php");
include ("php-ews/NTLMStream.php");

然而,在这种情况下,他们抱怨这些子文件夹中的文件不包括在内。

代码语言:javascript
复制
Fatal error: Class 'EWSType_FindItemType' not found in C:\wamp\www\intranet\dashboard\mailtest.php on line 19

我尝试将上面的文件包含在EWSType.php文件中,然后报告没有包含下一个文件。我尝试过在文件夹中包含任何.php的方法,但都不起作用。

我假设我只是装入了一个错误的类,想知道是否有人能给我指路!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-11 22:32:49

尝试使用__autoload加载类,而不是手动加载类。这样,您就不需要担心保留包含列表。Autoloader将为您完成此操作。如果类文件的名称与类本身的名称相同,应该会很容易。

请参阅http://php.net/manual/en/function.spl-autoload-register.phphttp://de3.php.net/manual/en/language.oop5.autoload.php了解详细信息

代码语言:javascript
复制
function ews_autoloader($className) {
  if($className != 'EWS_Exception') {
    $classPath = str_replace('_','/',$className);
  }
  if(file_exists("php-ews/{$classPath}.php") {
    include("php-ews/{$classPath}.php");
  }
}

spl_autoload_register('ews_autoloader');
票数 1
EN

Stack Overflow用户

发布于 2011-08-11 23:24:41

我设法把一些代码放在一起,把主文件夹文件包含进来。

代码语言:javascript
复制
$dir    = '/wamp/www/intranet/dashboard/php-ews/EWSType/';
$files1 = scandir($dir);
foreach ($files1 as $value) {
if(preg_match('/\.php$/i', $value)){
$inc = "php-ews/EWSType/";
$inc .= $value;
include ($inc);
}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7027375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档