0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 673 Просмотров
*

SmokerMan

  • Профи
  • 5334
  • 690
form.php
« : 09.01.2016, 14:37:16 »
libraries/legacy/model/form.php
http://joxi.ru/Drla49S4yNGJmP
Это косяк или так и задумано?
По идее данные в плагин тоже должны передаваться по ссылке, что бы с ними можно было что-то сделать, а не тупо наблюдать их
*

al-teen

  • Support Team
  • 2475
  • 213
  • im
Re: form.php
« Ответ #1 : 09.01.2016, 14:52:32 »
Ссылки в аргументах - само по себе дерьмо.
*

SmokerMan

  • Профи
  • 5334
  • 690
Re: form.php
« Ответ #2 : 09.01.2016, 14:56:29 »
Ссылки в аргументах - само по себе дерьмо.
с чего это?
допустим мне надо плагином в этом событии какие-то данные поправить, каким макаром я это сделаю по другому?
*

al-teen

  • Support Team
  • 2475
  • 213
  • im
Re: form.php
« Ответ #3 : 09.01.2016, 15:23:15 »
с чего это?
допустим мне надо плагином в этом событии какие-то данные поправить, каким макаром я это сделаю по другому?
Во первых ссылки отъедают производительность, во вторых, ты ведь получаешь ссылку на переменную или объект, а не их значение. Следовательно, функция получает доступ к изменению значения самой переменной, на которую получает ссылку. А это может быть не безопасно и в целом нарушает инкапсуляцию. Тем более, что в месте вызова функции аргументу не присваивается апмерсанд, поэтому ссылка остается неясной для того, кто будет поддерживать такой код.

Если без этого никак, то это означает не очень хорошую архитектуру приложения, которая по идее должна быть максимально слабосвязанной.
*

robert

  • Профи
  • 4082
  • 378
Re: form.php
« Ответ #4 : 09.01.2016, 16:00:38 »
По идее данные в плагин тоже должны передаваться по ссылке, что бы с ними можно было что-то сделать, а не тупо наблюдать их
Тем более, что в месте вызова функции аргументу не присваивается апмерсанд
Цитировать
Начиная с PHP 5.4.0 передача переменной по ссылке стала невозможна, поэтому использование этого приема приведет к фатальной ошибке.
http://php.net/manual/ru/language.references.pass.php
Или я чего-то недопонимаю?
« Последнее редактирование: 09.01.2016, 16:16:37 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

al-teen

  • Support Team
  • 2475
  • 213
  • im
Re: form.php
« Ответ #5 : 09.01.2016, 16:15:54 »
Там же
Цитировать
В вызове функции отсутствует знак ссылки - он есть только в определении функции.
*

robert

  • Профи
  • 4082
  • 378
Re: form.php
« Ответ #6 : 09.01.2016, 16:19:41 »
Там же
Цитировать
В вызове функции отсутствует знак ссылки - он есть только в определении функции.
Ну да, ведь тема об этом?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

al-teen

  • Support Team
  • 2475
  • 213
  • im
Re: form.php
« Ответ #7 : 09.01.2016, 16:24:14 »

Ну да, ведь тема об этом?
В этом, только наверное существуют более безопасные варианты передать данные в плагин. Что-то типа JRequest или jimport
*

SmokerMan

  • Профи
  • 5334
  • 690
Re: form.php
« Ответ #8 : 09.01.2016, 17:35:54 »
В этом, только наверное существуют более безопасные варианты передать данные в плагин. Что-то типа JRequest или jimport
причем тут JRequest или jimport?)
JRequest - это тот же $_REQUEST
jimport - это тот же include

здесь же данные выбираются из базы, и потом передаются в форму
и надо что-то сделать с этими данными, перед тем как они отправятся в форму
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться