
Salavat
05.11.2016
11:48:26
Только ссылку он не сформирует
Кстати, а газл страницу видит с изменёнными дом элементами?

Константин
05.11.2016
11:49:15
газл?
Я не знаю что такое газл ((

Google

Salavat
05.11.2016
11:50:07
Guzzle

Константин
05.11.2016
11:50:40

Salavat
05.11.2016
11:51:19

Константин
05.11.2016
11:51:56
Чуть читнул про газл.
Я так пониаю, что он увидит исходный код в базовом виде. Т.е. без изменений дома с помощью js.
Раньше пользовали curl.... Теперь газл появился. Но смысл тот же
Ок. Конкретный вопрос по пыхе - v8js кто-нибудь смог скомпилировать на Убунту 16.04?
Учти еще 1 момент.
Ну скомпилируешь ты... Ну запустишь у себя на машине... Напишешь серверный код который работает у тебя. Ок.
Потом захочешь вынести это на хостинг и окажется, что нет или очень мало хостов предлагают это расширение. И придется брать VDS, что бы смочь запускать твой эксклюзивный код на этом VDS.
В результате "дешовая" бизнес-задача будет требовать дорогой хостинг.
Вывод: это не рентабельно!
_______
Т.е. сделать все перечисленное для саморазвития - отлично, в путь.
Но делать это для заказчика - самоубийство.

Salavat
05.11.2016
12:21:44

Константин
05.11.2016
12:22:11
ну тогда ок ))
Но все же. Мудрить с новыми расширениями ради генерации ссылки. Как-то не по феншую.

Salavat
05.11.2016
12:22:57
По ссылке пдф файл, который парсится

Константин
05.11.2016
12:23:27
Парсится ссылка? Или файл?

Google

Salavat
05.11.2016
12:23:27
А файл отдаётся только пост запросом
Ссылка генерируется js

Константин
05.11.2016
12:24:00
Все отдается каким-то HTTP-запросом. GET, POST - специфика передачи параметров.

Salavat
05.11.2016
12:24:06
Которая сама потом себя сабмитит

Константин
05.11.2016
12:24:07
Есть и другие запросы..
Ссылка сама себя сабмитит!?
Клиент - браузер? Отдельная софтина?

Roman
05.11.2016
12:25:39
Извините, что вопрос поперек, но всегда было интересно. Из тех, кто еще пользует пост метод, как вы боритесь с повторной отправкой формы при обновлении страницы

Константин
05.11.2016
12:25:40
Ссылка - строка.
PDF-файл - просто файл с данными.

Salavat
05.11.2016
12:25:42

Roman
05.11.2016
12:25:44
Вопрос

Salavat
05.11.2016
12:26:03

Roman
05.11.2016
12:26:11
Исключено
Я понимаю, что все, что будет предложено - костыли

Salavat
05.11.2016
12:26:38
Исключено
Жаваскриптом изменять данные в скрытом поле и его проверять

Roman
05.11.2016
12:26:46
Но редирект самый злой среди них

Константин
05.11.2016
12:26:52

Salavat
05.11.2016
12:26:55

Константин
05.11.2016
12:27:37

Roman
05.11.2016
12:27:37

Google

Roman
05.11.2016
12:28:06
Думал, может кто знает вариант совсем не из рубрики "господа знают толкъ"

Константин
05.11.2016
12:29:23
Если без аякса, то в код формы вставляется хидден-поле с кодом формы. Код фрмы хранится в сессии. После первой обработки сабмита код удаляется из сесиии. При повторных отправках сервер видит, что это левая форма которую не ждем, и игнорирует/ругается.

Roman
05.11.2016
12:30:04
Да, это как делает мой ticket.
Только у меня чуть наоборот, код каждый раз новый, скрипт тормозит процесс, если пошел повторный код

Константин
05.11.2016
12:31:04
Тут либо запоминать код формы...
Либо аяксом слать данные.
Сейчас у нас фронт на ангуляре 1,5. Нет таких проблем как повторная отправка формы. Есть другие проблемы ))) Но это другая история.

Roman
05.11.2016
12:31:32
Ангуляр один пять? Что это?

Константин
05.11.2016
12:31:50
Angular 1.5 - JS-фреймворк.

Roman
05.11.2016
12:32:15
Jquery это тоже оН?
То есть, это тоже js фреймворк?

Dmitry
05.11.2016
12:32:44
Редирект не костыль, редирект - самое правильное

Константин
05.11.2016
12:32:54
Преследует идею полного разделения фронта и бэка.
Т.е. на бэке у нас только RESTAPI. А фронт работает с этим апи и отвечает за рендеринг.
Так на пхп у нас остается только бизнеслогика и ни строчки HTML!

Roman
05.11.2016
12:33:26
Хотя, может действительно стоит что-то придумать с редиректом

Константин
05.11.2016
12:34:06
Принципиальная разница билблиотеки и фреймворка.
библиотека - набор удобств
фреймворк - целая инфраструктура с собственной идеологией.

Dmitry
05.11.2016
12:35:18
ну так редиректь с параметром каким-то сообщающим об успешности... еще есть такая штука по многих фреймоврках - "флеш сообщения" через сессии... правда, с моей точки зрения, это маразм

Константин
05.11.2016
12:35:33

Dmitry
05.11.2016
12:36:22
аяксом самое удобное, да... тем более, что есть jQuery.forms - особо ничего и делат не нужно, только отработать успешость и дать сообщение убрав форму

Константин
05.11.2016
12:36:46
"флеш сообщения" через сессии... - просто надо уметь готовить!

Dmitry
05.11.2016
12:37:45
не нужно уметь готовить сессии ;) но это мое специфическое, для личных мелких проектов может и сойдет... только сборщик мусора не забыть запускать, хыхы

Google

Константин
05.11.2016
12:38:12
"флеш сообщения" через сессии...
Ты в разных местах свой бизнеслогики кидаешь сообщение в этот флешь. А в момент рендеринга разом извлекашь все накопленные сообщения и отдаешь.
Профит в том, что не надо везде думать как отдать сообщение в браузер. Отдача сообщения в отдельном месте. И ты это контроллируешь.
Разделение ответственности

Dmitry
05.11.2016
12:38:22
под сессиями я встроенный механизм имею ввиду
Ага... а потом счастливых часов дебага - кто бросает сообщение, где это место найти и какая сука это сообщение перезатерла

Константин
05.11.2016
12:39:05
Идеология RestApi, к стати заставляет отказаться от кук и сессиий.. По началу тяжело, но потом становится легко ))))
Собственно сейчас вообще не пользуем сессии.
Каждый запрос не зависит от других.

Dmitry
05.11.2016
12:39:58
Собственно я их вообще не использую последнее время... даже для аутентификации ;)

Константин
05.11.2016
12:40:48

Dmitry
05.11.2016
12:41:30
ага, и почему это сообщение выводится совсем на другой стадии, потому-что кто-то не вынул это сообщение
а потом окажется, что один компонент выводит совершенно валидное сообщение, но есть второй компонент, который тоже выводит сообщение, но должен убрать сообщение первого, ибо он переопределил поведение...

Константин
05.11.2016
12:42:50
Ожидается, что код поделен на слои.
И сообщения вылезают на последней стадии - рендеринг.
При четком делении слоев бизнеслогики и рендеринга нет описанных тобой проблем.

Dmitry
05.11.2016
12:43:22
если у тебя один контроллер, одна модель и одна вьюха - конечно нет ;)
а если запрос обрабатывает и собирает десяток сервисов... ну ну ;)

Константин
05.11.2016
12:43:37

Dmitry
05.11.2016
12:44:29
А не можешь, у тебя уже комопненты кидают сообщения... менять компоненты ты не можешь, ибо одна из них или обе - используются в других местах и там это сообщение нужно

Константин
05.11.2016
12:44:48
В момент обработки запроса работает 1 контроллер, а точнее конкретный экшн.
Моделей может быть много, но вызываешь их из конкретного экшена конкретного контроллера. И уже потом отдаешь все на рендеринг.
нет проблем

Dmitry
05.11.2016
12:45:30
Короче, так или иначе - сообщения должны собиратся в точке выхода... и не через сессии, а через состояния моделей / сервисов... а если у тебя все собирается в одной точке, то нахрена флеш, если дальше ты все-равно пойдешь на рендер...

Константин
05.11.2016
12:45:48

Dmitry
05.11.2016
12:45:54
о том и речь
флеш сообщения в общем сделаны в основном для того, что бы толстые ответы тягать между двумя запросами

Google

Константин
05.11.2016
12:47:06
Можно и так...

Dmitry
05.11.2016
12:47:09
что в общем тоже решается в большинстве случаев
а как только начинается две ноды у тебя, тут то и приходить полярный зверь, ибо эти флеш сессии начинают жрать дорогую память, а не дешевый диск

Константин
05.11.2016
12:48:09
Мы сейчас перешли на рест. Ушли от сесий.
Но сделали свой стек сообщений.
Разные модели, при ошибках валидации докидывают свои ошибки в стек и это выводится на фронт.

Dmitry
05.11.2016
12:48:16
ну или биндить клиентов по нодам, что не есть хорошо тоже
Лучше собирать состояние с моделей в каком-то сервисе, имхо... лишняя зависимость модели ни к чему, а единая точка позволит более гибко решать проблемы...
Исключения тут в помощь ;)

Salavat
05.11.2016
12:52:15

Константин
05.11.2016
12:52:18
Стэк сообщений в базовом модуле, о котором знают остальные модули.
Модели кидают туда сообщение, и конечно озвращают всяческие false.
Логика работает. С зависимостями нет проблем.
И единая точка сбора/выдачи сообщений.
Исключения усложняют.

Salavat
05.11.2016
12:52:54
я ничего не понял
Необходимо получить список всех судебных дел, проходящих в конкретном одном арбтиржном суде за 2016 год.

Константин
05.11.2016
12:53:53
Допустим у нас модель и в ней 5 полей. При валидации оказывается, что во всех 5 полях проблема.
Если делать на исключениях, то все свалится на валидации первого поля. Так и будет 5 раз править по 1 полю.
Либо отвалидировали. Отдали 5 сообщений где и что плохо.
Пользователь пачкой исправил все 5 полей и в 1 запрос отправил на бэк.

Salavat
05.11.2016
12:54:05
@optimistex этот список выводится в формате:
Истец
Ответчик
Третья сторона
Суть иска
Тип дела (банкротное или нет; если есть сумма иска - то сумма иска)

Константин
05.11.2016
12:55:11
Какие-то атрибуты для пойска дай, что б посмотреть с чем имеем дело.
по дате отобрал дела

Salavat
05.11.2016
12:56:55
Татарстан, На понедельнк
Ну вот, эти дела нужно вывести в формате - который я выше указал
Стороны дела - есть в json
А вот, суть иска - этого нет
Он есть только в файле pdf
http://kad.arbitr.ru/Card/039c104e-ac93-440f-9bc2-d436b39dc84c