Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: По разбивке предложения [2]
Код отрабатывает как нужно. То есть и картинки выводит и видео. Но вопрос в том, грамотно ли в техническом плане такой вариант обработки данных в функции?
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
bellagio пишет:
Но вопрос в том, грамотно ли в техническом плане такой вариант обработки данных в функции?
Я думаю, что если эти два блока кода не имеют отношения друг к другу, то лучше их разделить по разным пользовательским функциям. Так будет и логичнее, и понятнее.
А если нужно совместить результаты работы этих двух функций (1-я для картинок, 2-я для видео), то можно написать ещё одну функцию, в теле которой будут вызовы первых двух функций. На примере вам будет понятнее:
Но это в том случае, если вам надо их совместить. (Добавление)
То есть, я хотел донести мысль в том, что пользовательские функции не должны быть громоздкими. А так же, одна пользовательская функция должна выполнять одну задачу. По аналогии со встроенными пхп-функциями.
Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Строитель - спасибо за пинок!
В конечном итоге получил два вида рабочего кода. Но воспользовался более структурированным вторым. Как и подсказали сделал две функции, отдельно на видео, и отдельно на изображения. И свел проверку по двум функциям в третьей:
Я как бы в пхп не очень силен, посему, хотелось бы сделать проверку грамотной. Не приятно будет увидеть когда сайт наполнится, и поплывут данные или перестанут отображаться вовсе...
Строитель
Отправлено: 04 Апреля, 2017 - 07:52:01
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
bellagio пишет:
У меня в коде, еще идет дополнение параметром в функции обрамления видео:
Я как бы в пхп не очень силен, посему, хотелось бы сделать проверку грамотной. Не приятно будет увидеть когда сайт наполнится, и поплывут данные или перестанут отображаться вовсе...
Эта проверка вроде бы никак не соприкасается с функцией out() (Добавление)
А, понял - это размер определяется для видео.
bellagio
Отправлено: 04 Апреля, 2017 - 07:56:09
Новичок
Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Строитель пишет:
А, понял - это размер определяется для видео.
да именно так.
Строитель
Отправлено: 04 Апреля, 2017 - 08:21:53
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Нет, условие с определением размера не имеет отношения ко "внутренностям" функции. Просто если у вас срабатывает или картинка, или видео, то наверное в функции out нет необходимости. Но если out вам нужна как переключатель - то ваше решение верно.
bellagio
Отправлено: 04 Апреля, 2017 - 08:53:02
Новичок
Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Да мне нужен именно переключатель смешанных мультимедийных (фото и видео) на странице. Собственно на данный момент это решение работает.
bellagio
Отправлено: 04 Апреля, 2017 - 12:08:18
Новичок
Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Есть ошибки...
Если на странице встречается содержимое разных видов скрипт берет первое:
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
bellagio пишет:
Если на странице встрепывается содержимое разных видов скрипт берет первое
Это и правильно - срабатывает первый if () {}.
bellagio пишет:
Получается для каждого вида писать свою функцию?
Не обязательно. Можно просто разделить блоки ветвления, а результат каждого из них соединять конкатенацией и возвращать. На примере это будет выглядеть так:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.