Php 使用方法返回对象实例化变量
我已经搜索了几个小时,但我似乎不明白为什么这不起作用。这是密码 我的目标是使用不同的方法加载XML文档,并使用另一种方法打印和管理该文档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
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
,因为我是在类中这样做的。试试吧。你从来没有说过它不起作用,所以这真的没有给我们太多的工作。如果您添加错误报告并让我们知道错误是什么,这将非常有用。非常感谢,这就是问题所在:)