Не могу клонировать объект в простом парсере PHP - PullRequest
0 голосов
/ 16 апреля 2011

Перво-наперво, я хотел бы убедиться, что ниже приведен правильный способ проверки и клонирования объекта. Я использую PHP Simple HTML DOM Parser.

$page = 'www.google.ca';
$html = file_get_html($page);

$test = clone $html;

$test->find('title',0)->innertext = 'changed title';

echo $html->find('title',0)->innertext;
echo $test->find('title',0)->innertext;

Теперь, возможно, я делаю это неправильно, но это не похоже на клонирование $ html в $ test. Оба будут выводить «измененный заголовок».

Итак, мой вопрос (ы):

  1. Правильно ли я клонирую?
  2. Есть ли другой способ клонирования объекта в PHP?

Спасибо, ребята

1 Ответ

1 голос
/ 16 апреля 2011

Документация гласит:

Когда объект клонируется, PHP 5 выполнит поверхностную копию всех свойств объекта. Любые свойства, которые являются ссылками на другие переменные, останутся ссылками.

Так что, возможно, .innertext относится к другому объекту, и это ссылка.

Вы пробовали $test = $html;?

...