Это не имеет ничего общего с параметрами функции.PHP 5 имеет только указатели на объекты;у него нет «объектов» в качестве значений.Таким образом, ваш код эквивалентен этому в C ++:
MyDocumentHTMLDom *dom = new MyDocumentHTMLDom;
myFun(dom);
Теперь многие люди упоминают, что они передаются по значению или передаются по ссылке.Вы не спрашивали об этом в вопросе, но так как люди упоминают об этом, я буду говорить об этом.Как и в C ++ (поскольку вы упомянули, что вы знаете C ++), передача по значению или передача по ссылке определяется тем, как объявлена функция.
Параметр передается по ссылке, если и только если он имеет &
в объявлении функции:
function myFun(&$dom) { ... }
точно так же, как в C ++:
void myFun(MyDocumentHTMLDom *&dom) { ... }
Если этого не происходит, то оно передается по значению:
function myFun($dom) { ... }
простокак в C ++:
void myFun(MyDocumentHTMLDom *dom) { ... }