У меня есть два класса:
class BaseResource {
public $url;
protected $relativeUrl;
protected $parentUrl;
public function BaseResource($relUrl, $parentUrl) {
$this->relativeUrl = $relUrl;
$this->parentUrl = $parentUrl;
$this->url = url_to_absolute($parentUrl, $relUrl);
}
}
class XMLResource extends BaseResource {
private $xml;
public function XMLResource($relUrl, $parentUrl, $xml) {
parent::BaseResource($relUrl, $parentUrl);
$this->$xml = $xml;
}
}
Это все очень просто, но когда я выполняю следующий код, я получаю ошибку.
$relUrl = "../something.html";
$parentUrl = "http://example.com/test/index.php";
$xml = new DOMDocument();
$xmlRes = new XMLResource($relUrl, $parentUrl, $xml);
Исправляемая фатальная ошибка: Объект класса DOMDocument не может быть преобразован в строку
Почему предполагается, что XMLResource::xml
является строкой?Я еще не использовал его, так что я бы предположил, что он не определен, пока он не установлен, а затем он принимает тип того, на что он установлен?