Во-первых, вы знакомы с тем, что такое время вызова по благоговению? Обычный переход по ссылке выполняется функцией, объявляющей, что определенные аргументы передаются по ссылке, добавляя &
к параметру в его объявлении.
Передача по времени вызова по ссылке означает, что функция объявлена для получения этих аргументов по значению, и вы изменили ее поведение на передачу по ссылке после факта. Передача времени вызова по ссылке на самом деле никогда не должна быть необходимой. Каждая функция должна иметь определенную цель, и для ее правильного выполнения она должна либо всегда принимать аргумент по ссылке, либо всегда принимать его по значению. Плохо заставлять функцию делать что-то, для чего она не предназначена.
Отвечая на ваши вопросы о $myclass->myfunc(&$myvar);
и $myclass->myfunc(&$myVar, &$ourvar);
Я бы сказал, что если вам нужно перейти по ссылке на эту функцию, то она должна быть объявлена как всегда передаваемая по ссылке. т.е. * +1008 *
function myfunc(&$x, &$y) { ... }
Затем, чтобы использовать его, просто позвоните без &
$myclass->myfunc($myVar, $ourvar);
$x = &new myclass();
совершенно не имеет значения. Вы ничего не передаете. Это все еще действительный синтаксис.