
Alex
14.03.2017
17:48:45
ребят кто с symfony2 работал?
как передавать переменные из одного контроллера
при редиректе в другой
$this->redirectToRoute('simpleform_success', array(‘some_data’ => $some_data));
как считать $some_data в другом контроллере и в другом шаблоне twig
??

Pavel
14.03.2017
18:03:20
redirectToRoute это же обычный http редирект?

Артём
14.03.2017
19:03:21
Интересует постиг комментариев в инстаграм

Alexandr
15.03.2017
04:10:02

Google

Alexandr
15.03.2017
04:10:15
Разминка на утро

Andrey
15.03.2017
04:16:20
2 варианта кода(был не прав, не проснулся)

Сергей
15.03.2017
04:17:45
042
а еще?

Vitaliy
15.03.2017
05:54:23
402
А, нет, ошибся, выходит только 042

Alexandr
15.03.2017
07:18:57

Виталий
15.03.2017
09:04:29
Гоню

Stanly
15.03.2017
09:10:55
Как можно получит первые два символа в имени файла
substr не подходит, потому что я не знаю сколько резать с конца

Alexandr
15.03.2017
09:11:45
basename

Stanly
15.03.2017
09:16:55
$filelist = glob("*.gif");
foreach($filelist as $img)
{
echo $img;
}

Google

Vyacheslav
15.03.2017
09:18:31
Зная длину и зная сколько надо оставить, можно понять сколько надо резать.

Stanly
15.03.2017
09:20:53
Да, спасибо, уже пишу математику

Oleg
15.03.2017
09:20:56

Stanly
15.03.2017
09:21:21

Oleg
15.03.2017
09:21:27
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 2); // ab

Stanly
15.03.2017
09:23:57

Oleg
15.03.2017
09:25:22
Блин. Это просто в доках описано.

Денис
15.03.2017
09:30:41
Доброе
Возможно баян
<?php
function silly()
{
return [1, 2, 3];
}
$arr = silly();
var_dump($arr);
echo "<br>";
list($a, $b, $c) = silly();
echo silly()[1];
?>
Можно ли echo "<br>"; заменить еще как-то проще, перенос строки?
Чтоб лишнюю строку кода не писать

Алексей
15.03.2017
09:31:41

Денис
15.03.2017
09:32:03
Вот именно в этом куске кода без привлечения css

Алексей
15.03.2017
09:36:26

Денис
15.03.2017
09:37:29
Ну если у меня много таких строк будет, не очень хорошо все время echo "<br>" писать

Алексей
15.03.2017
09:38:06

Денис
15.03.2017
09:38:23
Нет конечно)

Google

Денис
15.03.2017
09:38:25
Я про echo silly()[1];
Представим что там print_r

Алексей
15.03.2017
09:39:55

Vyacheslav
15.03.2017
09:40:06
Вынеси вывод в другую функцию и передавай ей что вывести а она будет подставлять br

Oleg
15.03.2017
09:52:07
echo silly()[1] . '<br>';
или
echo '<br>' . silly()[1] ;
чтобы лишнию не писать ?

Денис
15.03.2017
09:52:46
Спасибо всем

Oleg
15.03.2017
09:56:13
кстати для нормально вывода структуры визуально лучше так делать.
echo '<pre>'.var_export($val, true).'</pre>';
В теге <pre> переносы как переносы без бр отображаются.
и форматирования табуляций нормальное.

Grigori
15.03.2017
10:52:02
а это в Симфони тупо, что нельзя написать требование к структуре GET-параметров
только руками писать проверку request
в других фреймворках можно указать параметры action-метода, которые соответствуют параметрам запроса

Dmitry
15.03.2017
10:57:06
Зато есть вот такая штука http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/converters.html

Grigori
15.03.2017
11:00:01
угу, только доктрина мне не нужна
хотя, может быть и прикольно для некоторых случаев
я на микроядре делаю микросервис и мне важна скорость ответа

sergey
15.03.2017
11:01:03

Grigori
15.03.2017
11:01:42
function postAction($title,$body) {}
параметр POST['title'] подставляется первым аргументом

Dmitry
15.03.2017
11:02:34
Причем тут доктрина

Google

Dmitry
15.03.2017
11:03:48
Это просто бандл, который может конвертить инпут в объект... создаешь DTO со структурой и вперед
Есть еще http://symfony.com/doc/master/bundles/FOSRestBundle/annotations-reference.html

Grigori
15.03.2017
11:04:03
ну да, я понял
какое же оно все многословное в симфони

Dmitry
15.03.2017
11:09:12
Ну чем гибче и универсальнее, там многословнее, факт. Фича с параметрами обсуждается, но пока никто не горит желанием ее делать. На {slug} ты можешь всякие проверки поставить прямо в роутере и т.п...

Grigori
15.03.2017
11:10:49
в роутинге можно проверять только путь, без query-параметров
у меня по REST нужен URL /catalogs/{catalog_id}?instance=qwe

Admin
ERROR: S client not available

Grigori
15.03.2017
11:12:25
один параметр в пути, другой именно в query
а проверки я могу поставить только на тот параметр, который в path

Dmitry
15.03.2017
11:21:48
ну о том и речь, что пришлось бы еще доп опции для querysring вводить.... которое FOS Rest твое, только разобраться нужно ;)
а совместно с nelmio doc получаешь еще и документацию, хе

Grigori
15.03.2017
11:40:10
ну да, наверное
только все это надо поддерживать потом
растет сложноть решения
в общем, как обычно

Dmitry
15.03.2017
12:03:44
ну мне нравиться как раз внешней простотой, у меня как раз один проект сейчас на этой связке... ну еще с JMSSerializer. Описываю структуру в виде DTO-шек, указываю, что нужно в рест методе ждем ее и все, на вход в экшн уже готовый объект с данными
Хотя пришлось там несколько костылей собрать, факт...

Aziz
15.03.2017
12:54:44
Есть 2 массива с мылами. В одном оплаченные заказы в другом нет. Прикол в том, что клиент мог несколько раз сделать заказ и в одном оплатить. Как оставить уникальные значения из двух массивов, а повторяющиеся убрать?
Подумал сравниванием в лоб и пушем в другой массив

Pavel
15.03.2017
13:04:01
array_intersect + array_diff

Google

Grigori
15.03.2017
13:22:34
а как в симфони подменить класс контейнера, чтобы прописать свои шорткаты с тайпхинтами?
загуглить? :)

Pavel
15.03.2017
13:23:38
Ну вообще для шторма есть неплохой плагин симфониевский, который тайпхинты сам подсвечивает
Это может быть даже лучшим решением

Aziz
15.03.2017
13:23:52

Grigori
15.03.2017
13:25:20
плагин - штука так себе
надо чтобы код был самодостаточным
чтобы кто угодно открыл и быстро разобрался

dypa
15.03.2017
13:26:32

Grigori
15.03.2017
13:26:53
да

dypa
15.03.2017
13:28:01
тогда symfony плагин + PHP annotations тебя спасут

Pavel
15.03.2017
13:29:33
В общем тут никто не подменял контейнер видимо :) Это надо дебажить код смотреть как он там создается.

Grigori
15.03.2017
13:30:15
и это Симфони называют гибким

Pavel
15.03.2017
13:32:20
Да он супергибкий
Настолько гибкий что сразу и не скажешь как это сделать :)

Dmitry
15.03.2017
13:34:00

Pavel
15.03.2017
13:35:08
Могу написать пару мыслей, дело в том что контейнер компилируется. То есть симфони по аннотациям и бандлам всяким бегает и из всего этого собирает класс контейнера, после чего дампит его код в app/cache/{{env}}/DebugProjectContainer.php - куда то сюда. То есть надо где-то в компиляторе контейнера подменить строчку с классом который пишется в кеш.

Grigori
15.03.2017
13:36:27
замечательный Бали

Dmitry
15.03.2017
13:36:30
А я вообще не понял, какой тайпхинтинг он хочет... что бы get("service")-> работал без плагина?