Можно ли передавать в качестве аргумента функции ссылку на объект? например:
$a = new Smarty();
foo($a); // передаем ссылку на объект чтобы использовать его методы внутри функции
//и в последствии передать эту ссылку другой функции.
Да, правильно, так можно делать.
class A {
public function test(B $b) {
$b->testMethod();
}
}
class B {
public function testMethod() {
echo 'I\'m from class B<br/>';
}
}
function testFunction(B $b) {
$b->testMethod();
}
$a = new A();
$b = new B();
$a->test($b);
testFunction($b);
оба выведут I'm from class B
В PHP объекты передаются по ссылке. Так что "передавать в качестве аргумента функции ссылку на объект" - не только правильный, но и единственный путь.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей