Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用方法返回对象实例化变量_Php_Dom_Object_Methods - Fatal编程技术网

Php 使用方法返回对象实例化变量

Php 使用方法返回对象实例化变量,php,dom,object,methods,Php,Dom,Object,Methods,我已经搜索了几个小时,但我似乎不明白为什么这不起作用。这是密码 我的目标是使用不同的方法加载XML文档,并使用另一种方法打印和管理该文档 class ... //Fetch and print xml document function fetchFromXMLDocument($XMLDocName) { $xmlDoc = new DOMDocument(); $xmlDoc->load($XMLDocName); return

我已经搜索了几个小时,但我似乎不明白为什么这不起作用。这是密码

我的目标是使用不同的方法加载XML文档,并使用另一种方法打印和管理该文档

class ...

//Fetch and print xml document
    function fetchFromXMLDocument($XMLDocName) {
        $xmlDoc = new DOMDocument();
        $xmlDoc->load($XMLDocName);
        return $xmlDoc;

    }
这里我想将
fetchFromXMLDocument()
的值添加到我的
$he
变量中。 但它似乎不起作用

function printXml($XMLDocName) {
   //this seems not to be right??       
    $he = fetchFromXMLDocument($XMLDocName);

    //after that this is what I want to do..
    // $items = $he->getElementsByTagName("item");
         ...
    }

有人知道为什么会这样吗

$xmlDoc
是一个DomDocument对象。您可能想要:

$he = $xmlDoc->saveXML();

如果是在课堂上,你不需要做什么吗

$he = $this->fetchFromXMLDocument($XMLDocName)
问题是函数
fetchFromXMLDocument()在类中。
如果从
printXML
访问它的方法在同一个类中,那么应该使用
$this
操作符访问它

function printXml($XMLDocName) {    
     $he = $this -> fetchFromXMLDocument($XMLDocName);
     ...
}
但是如果从
printXML
访问它的方法在外部。然后首先必须创建类的对象并访问它

function printXml($XMLDocName) {    
     $obj = new yourxmlclassname();
     $he = $obj -> fetchFromXMLDocument($XMLDocName);
     ...
}

你能解释一下什么似乎不起作用吗?@jprofitt它似乎没有将对象
xmlDoc
注入我的变量
$he
。也许这在PHP中没有意义,也许我错了,这似乎是我在java上做的,
var\u dump($he)
给了你什么?但是
$he
是在另一种方法中,
$xmlDoc
我需要的是在另一种方法中使用
$xmlDoc
的内容。哦,我明白了……您仍然希望将其用作DomDocument对象,而不是获取其XML输出<代码>返回
像你这样的年轻人应该把它给你。您确定返回的值是有效的对象吗?(文件导入成功?)嘿,谢谢你的反馈。问题是我没有使用
$this
,因为我是在类中这样做的。试试吧。你从来没有说过它不起作用,所以这真的没有给我们太多的工作。如果您添加错误报告并让我们知道错误是什么,这将非常有用。非常感谢,这就是问题所在:)