繁体   English   中英

PHP soap和名称空间。 PHP致命错误:找不到类'Jira \\ SoapClient'

[英]PHP soap and namespaces. PHP Fatal error: Class 'Jira\SoapClient' not found

我们正在更新代码库,以使用PHP-5.3 +中提供的名称空间功能

以前,我们的文件都快乐地保存在/ htdocs / php中的Web服务器上,但是现在我们将脚本分开,并将我们的PHP库放在/ htdocs / php / lib /中。

在/ htdocs / php / lib /中,我们有一个名为Jira.php的文件,我们为它指定了一个名称空间:

<?php
# Define a namespace for this library
namespace Jira;

function create_client($jira_url, $options)
{
    global $client;

    try
    {
            $client = new SoapClient($jira_url, $options);
    }
    catch (Exception $error)
    {
            echo $error -> getMessage() . "<br/><p style='color:red'> Could not connect to Jira </p>";
    }
}
?>

但是,当我们尝试从/ htdocs / php中的脚本调用此函数时,我们得到的类未找到错误:

PHP Fatal error:  Class 'Jira\SoapClient' not found

当我们尝试创建SoapClient对象时,这失败了。

我已经验证我在/ usr / share / php / SOAP /和php_info()中安装了php-soap软件包; 显示它已启用等。

因此,大概这是名称空间约定的问题。 我们如何在不引发错误的情况下包含该类?

问候, ns

SoapClient可能已分配给全局名称空间。

在脚本中,当前名称空间是Jira.

尝试使用:

$client = new \SoapClient($jira_url, $options); 

暂无
暂无

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

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