Аргументы функции php

233
27 февраля 2017, 14:27

Можно ли передавать в качестве аргумента функции ссылку на объект? например:

$a = new Smarty();
foo($a); // передаем ссылку на объект чтобы использовать его методы внутри функции 
//и в последствии передать эту ссылку другой функции.
Answer 1

Да, правильно, так можно делать.

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

Answer 2

В PHP объекты передаются по ссылке. Так что "передавать в качестве аргумента функции ссылку на объект" - не только правильный, но и единственный путь.

READ ALSO
Выполнение SQL запроса по расписанию

Выполнение SQL запроса по расписанию

В таблице имеются 2 поля login и tokenКак сделать так, чтобы после того как в поле token для указанного логина будет записана информация, это поле...

299
Можно ли использовать Tor вместо Proxy на php?

Можно ли использовать Tor вместо Proxy на php?

Задача банальна, есть "зеркало" иностранного сайта, которое в реальном времени берет с него данные, переводит их на русский и выводит пользователю

275
вопрос про mysql запрос

вопрос про mysql запрос

здравствуйте, есть таблица questions с полем answers (int), и есть таблица answers с полем (question_id)

226