
Alan
26.09.2017
18:08:07
<a href="/images/myw3schoolsimage.jpg" download="w3logo">
в хтмл5 аттрибут download - можно задать имя с которым будет скачивать )
а как он на сервере именуется пофиг)

Sergo
26.09.2017
18:25:40

Google

Sergo
26.09.2017
18:25:40
Всем доброго времени суток.
У меня вот такой вот вопросик. Пытаюсь использовать symfony/routing компонент в стороннем приложении (которое не использует симфони). То есть, просто подключаю из композера пакет "symfony/routing": "^3.3".
Столкнулся со следующей проблемой. Роут матчится, в $parameters приходит все что нужно, но неужели нет какого-нибудь "run()" метода, который запустит выполнение контроллера?

(;¬_¬)
26.09.2017
18:29:54
там про второй симфони, но это не сильно влияет

Sergo
26.09.2017
18:33:19

(;¬_¬)
26.09.2017
18:35:24
О_о в смысле? это специально тебе моноширно выделили

Sergo
26.09.2017
18:36:12

(;¬_¬)
26.09.2017
18:37:27
так эта, там же первым абзацем идет

Pavel
26.09.2017
18:37:29
Для понимания можно посмотреть в два места \Symfony\Component\HttpKernel\EventListener\RouterListener и \Symfony\Component\HttpKernel\HttpKernel . В первом собирается информация о запросе, идет поиск обработчика и информация об этом передает в attributes,а уже в самом Кернеле на основе этой информации и происходит вызов контроллера

(;¬_¬)
26.09.2017
18:37:36
http://symfony.com/doc/current/create_framework/index.html что вот по этой ссылке свежая версия

Алексей
27.09.2017
15:47:59
Всем доброго вечера.
А кто чем профилирует PHP+Symfony по памяти? У меня вот есть долгоиграющая команда, которой бы аппетиты поумерить стоило бы.
XDebug, насколько я знаю, не особо в этом хорош. Помню blackfire давал инфу по памяти, но сейчас при попытке войти в их аккаунт он чуть ли не анализы сдать просит.

Sergey
27.09.2017
15:48:24
blackfire хватает с головой

Алексей
27.09.2017
15:48:48
Это понятно. Но я хотел узнать, есть ли достойные альтернативы, которые работают локально не выгружая в облако результаты :)

Sergey
27.09.2017
15:48:51
еще можно порасставлять точки с логами и писать память)

Google

Алексей
27.09.2017
15:49:16
Да, но это долго.

Sergey
27.09.2017
15:49:28
xhprof еще есть

Алексей
27.09.2017
15:49:49
О, кстати, да. Что-то такое в памяти вертелось. Пойду посмотрю.
Он под 7.1 работает?

Sergey
27.09.2017
15:50:37
да, давно
под 7кой точно работал
а 7.1 должен

Алексей
27.09.2017
15:50:52
Что-то у него последняя версия в 2013 вышла и "PHP 5.2.0 or newer".
Хм. Ну надо будет попробовать.

Sergey
27.09.2017
15:52:25
можно хдебагом еще профайлить)
вроде в пхпшторме прям встроен KCacheGrind

Алексей
27.09.2017
15:52:51
Да, но я что-то не нашёл ничего про memory у xdebug.

Sergey
27.09.2017
15:53:38
а да.. там убрали ж профайлинг по памяти
еще memprof годный, но у меня падал постоянно)

Алексей
27.09.2017
15:54:07
А вот про него не слышал. Пойду загуглю.
У него даже версия 2.0.0 в 2017 вышла. Надо посмотреть.
А можно ещё попросить ссылочку на как-то проскикивавший тут мануал на оптимизацию долгоиграющих Symfony Console команд?
Там кроме очистки Identity Map ещё было про выключение SQL Logger и ещё что-то, вроде.

Sergey
27.09.2017
15:59:39
-e prod —no-debug
не юзать array cache
чистить регулярно em->clear и odm->clear
не хранить стейт в сервисах
не юзать crossfinger и любые буферы для логов

Konstantin
27.09.2017
16:00:25
ребят
помогите плиз с доктриной

Google

Konstantin
27.09.2017
16:00:47
[Semantical Error] The annotation "@ManyToOne" in property AppBundle\E
блин
Semantical Error] The annotation "@JoinColumn" in property AppBundle\Entity\wish::$user was never imported. Did you maybe forget to add a "use" statement for this annotation?
я не оч вкуриваю, чего ему не нравится

Алексей
27.09.2017
16:01:20

Konstantin
27.09.2017
16:02:27
странно работает
добавил orm - зафурычило
спасибо

Алексей
27.09.2017
16:02:48

Konstantin
27.09.2017
16:03:04
в симфони примерах так написано

Алексей
27.09.2017
16:03:17

Konstantin
27.09.2017
16:03:41
а не, эт в доке по доктрине
забыл поправку на симфони

Алексей
27.09.2017
16:04:19
Ну логично. В доке про доктрину будет говориться так, как будто доктрина - единственное, что у тебя в коде есть.

Sergey
27.09.2017
16:08:58
не помню..
это я из своего опыта говорю)

Denis
27.09.2017
17:31:30

Google

Виктор
27.09.2017
18:02:48
ДА и я задачу не знаю - поэтому давал советы общего плана
если надо сделать ссылку так чтобы ни одна собака не догадалась - можно придумать такую структуру папок файлов как миниум - что подобрать будет просто нереально

Denis
27.09.2017
18:03:51

Виктор
27.09.2017
18:03:58
отписал уже
site.ru/files/asdfasdfaweqkrjbwqlkjefghasildfty7wiegfl3iywegfliyasgdcuysadtvuyz`tdfuvy`tzyf/file.zip
такого плана
+ проверка перед тем как выдать юзеру такую ссылку

Denis
27.09.2017
18:05:32

Виктор
27.09.2017
18:05:48
но и через php не надо пропускать файл

Denis
27.09.2017
18:06:07
Или имеешь ввиду проверка, если все ок, редирект?

Виктор
27.09.2017
18:06:15
я писал о том, если более подробно изложить - что очень вредно читать содержимое файла средствами php
типа file_get_contents и потом его отдавать
это сильно вредит проивзодительности

Denis
27.09.2017
18:06:48

Виктор
27.09.2017
18:06:48
и если сервис посещаемый - то будет полная попа на таком подходе
если есть возможность - то не делать этого:)

Denis
27.09.2017
18:07:08
)) ясно

Dmitry
27.09.2017
18:07:14
Есть два основных способа. 1-й - на уровне nginx, самое простое http://nginx.org/ru/docs/http/ngx_http_secure_link_module.html, посложнее - lua/perl кусок кода. 2-й - проброс на бекенд, который или работает как аутентификатор (http://nginx.org/ru/docs/http/ngx_http_auth_request_module.html) или же выдает X-Accell-Redirect

Виктор
27.09.2017
18:07:33
я ж написал как - если файл заранее готов - это не отчет какой-то который из бд надо сгенерить в ёкслеь - то кидануть файл туда откуда юзер сможет скачать

Google

Виктор
27.09.2017
18:07:46
ну или клиент сможет скачать
а безопасноть - отдельно подумать как

Denis
27.09.2017
18:08:09

Виктор
27.09.2017
18:08:28
ну ссылки сложные - которые перебором 3 года можно подбирать

Dmitry
27.09.2017
18:08:39
А, ну сейчас еще ngx_http_auth_jwt_module есть
а, он в плюсе только

Виктор
27.09.2017
18:09:37
сгенерить имя папки длиной 50-80 символов - это буквально строчка кода
без настроек сервера

Denis
27.09.2017
18:10:08

Dmitry
27.09.2017
18:10:30
А что ты написал, на каждого пользователя копия файла с уникальным именем папки?

Виктор
27.09.2017
18:10:52
ну или так - или просто у каждого файла такой адрес