объект вызывает метод второго и передает ему одну из своих локальных переменных (тип строка) по ссылке (во втором в параметрах стоит string &$outter_string). Этот вызванный метод, не стесняясь заполняет outter_string данными разного размера в зависимости от логики.
Это точно нормально? нет ли тут выстрела в ногу?
Preg match юзал? Лучше избегать подобного но в целом криминального ничего нет
нет, просто пользовательский код
Я о том что это типичная сишная школа - если надо вернуть статус и результат иногда передают референс на то где должен быть результат.
Почему нельзя просто вернуть результат?
я бы задал автору библиотеки вопрос, в чем глубокий смысл выбранного решения, но он давно уже не откликается на ишьюсы
Зачем юзать заброшенную либу?
ты сча серьезно спрашиваешь? Или у тебя просто небыло проектов старше года?
Это же часть моей работы, следить за зависимостями
С дженериками, которые теперь возможны через псалм, можно реализовать в виде спец. класса
Кортеж или Result
Первое в пхп низя (разве что не типизированным массивом). Второе -- отдельный класс под каждый результат или дженерики, которые до стат. анализаторов описать не получалось. В каждом из этих случаев без стат. анализатора в пхп описать контракт не получилось бы.
[$result, $matches] = fn();
Деды описывали и без этого всего комментариями, докой
Да, упомянул это в пред. комментарии
Какие именно? В пхп именно ссылки + булевый возврат был. Да и до сих пор в некоторых функциях есть
Речь не про нативные функции, а про юзерские. Не было псалма, но кто запрещал в пхпдоке описать кортеж?
Так речь о делах же была
Назовите возраст дедов, пожалуйста
Гы. Ну давайте условные 45+ (не в обиду молодым)
Деды не только spl писали
А кто спорит? Функции "с ссылками и булем" были как в нативных функциях, так и в обычных юзерских. Я нативные привел в пример т.к. они до сих пор заметны.
Обсуждают сегодня