Передача параметров по ссылке между модулями в LiveStreet

Трюки с LiveStreet
Довольно полезно будет знать начинающим (и не только) программистам по движку ЛивСтрит, что ЛС не поддерживает передачу скалярных параметров по ссылке между модулями. В пределах одного модуля (когда идет вызов метода в этом же классе) передача возможна. Но передать скалярную величину назад из модуля, например, в екшен не представляется возможным. Поэтому если у вас возникла такая необходимость, следует просто возвращать массив параметров из метода или сущность и не использовать передачу параметров по ссылке вовсе.

З.Ы. Говоря о передаче параметров по ссылке я говорю о «правильном подходе» к передачи параметров таким способом, который диктуют нам новые современные версии php, в которых нельзя больше передавать саму переменную по ссылке — такой способ вызовет предупреждение компилятора. Передавать переменную по ссылке теперь можно лишь записав передачу по ссылке нужной переменной в объявлении самой функции.

так делать в новых версиях php больше нельзя — это вызовет предупреждение компилятора:

function A ($b) { $b++ }
$x = 2;
A (&$x);


можно писать только так:

function A (&$b) { $b++ }
$x = 2;
A ($x);


Такой способ будет работать в пределах одного класса. Между модулями такое не сработает. Единственны вариант — возвращать результат через обычное return $aSomeData.
0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.