@symfony_php

Страница 549 из 1418
Sergey
02.01.2018
17:05:29
cohision/coupling

Dinar
02.01.2018
17:05:36
Давай. :)

Спасибо за беседу. :)

Shmaltorhbooks
02.01.2018
17:05:49
вы поговорите, а я домой пойду))

Google
Shmaltorhbooks
02.01.2018
17:06:00
только сначала терминологию синхронизируйте))

а то cohision и coupling часто путают))

Sergey
02.01.2018
17:06:36
а то cohision и coupling часто путают))
я ж из специально не переводил, кто ж будет их путать

Dinar
02.01.2018
17:08:12
У меня возник вопрос.

Я подчичаю депрекейты для симфы 4.

И вот logout_on_user_change поставил в true

И теперь не логинится.

Что бы это могло быть?

Dmytro
02.01.2018
17:14:28
fos?

Dinar
02.01.2018
17:15:19
Нет. Просто обычный

Pavel
02.01.2018
19:42:12
Это нормально что после перехода на 4 симфони http exception'ы не обрабатываются? Или я что-то не так сделал? http://beta.api.findmedia.xyz

И еще если грузить зависимости компосера без дева то удаляется дотенв и все падает. Это все такое сырое или я тупой просто?

Если смотреть на этот гайд https://symfony.com/doc/current/deployment.html то symfony_requirements вообще не существует, а —no-dev ложит дотенв

Google
$iD
02.01.2018
19:55:19
https://github.com/symfony/symfony/blob/4.0/composer.json не тянет dotenv ни в каком виде.. значит его тянет какой-то пакет как dev зависимость

в чём проблема самому добавить то?

Pavel
02.01.2018
19:56:43
В том, что он добавлен в дев из коробки, и врятли это сделали "по приколу"

$iD
02.01.2018
19:57:29
пересмотри composer.json - там нет dotenv. его тянет другой пакет а не symfony/symfony

Pavel
02.01.2018
19:57:44
Он есть, ctrl+f

По той ссылке, что ты скинул

$iD
02.01.2018
19:57:56
replace

Pavel
02.01.2018
19:57:58
symfony/dotenv

$iD
02.01.2018
19:57:59
секция

а не require-dev

Pavel
02.01.2018
19:58:24
Блин, мой компосер жсон вообще не похож на этот

Хотя я не так давно создавал проект с нуля

Ну он и не должен быть похож...

$iD
02.01.2018
19:59:44
зависит от того как ты создавал

Pavel
02.01.2018
19:59:45
В общем в скелетоне dotenv в require-dev

$iD
02.01.2018
19:59:46
https://github.com/symfony/skeleton/blob/4.0/composer.json

такой у тебя?

Pavel
02.01.2018
20:00:00
Да

composer create-project symfony/skeleton my-project

$iD
02.01.2018
20:00:39
ну так впили dotenv в require вместо require-dev

Google
Pavel
02.01.2018
20:02:10
Ну дк это же не нормально что он сейчас в дев зависимостях

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

$iD
02.01.2018
20:12:11
https://symfony.com/doc/current/components/dotenv.html

это то, про что говорил Фабиан

Pavel
02.01.2018
20:15:11
Очень странное решение

Pavel
02.01.2018
20:18:14
А чего странного?

Pavel
02.01.2018
20:20:13
В чем тогда смысл юзать .env, если это должно использоваться только на дев?

В чем профит

Pavel
02.01.2018
20:20:28
В удобстве редактирования

Pavel
02.01.2018
20:20:50
Конфиг так же было удобно редактировать

Sergey
02.01.2018
20:20:51
В чем тогда смысл юзать .env, если это должно использоваться только на дев?
.env предоставляет дефолтные значения. В продакшене предполагается факт того, что у тебя будут определены переменные окружения

Sergey
02.01.2018
20:22:03
вся соль в возможности переопределить содержимое .env за счет экспорта нужных переменных

Pavel
02.01.2018
20:23:19
вся соль в возможности переопределить содержимое .env за счет экспорта нужных переменных
Чем тогда это отличается от конфига yml, который был раньше? Только возможностью допустим в докере прописать environment?

Sergey
02.01.2018
20:23:47
у тебя просто есть .env и для продакшена будут засечены энв переменные. Если у тебя вдруг не отличаются параметры какие-то с dev - тебе никто не запрещает их из .env подгружать

Big_Shark
02.01.2018
20:50:23
которая сейчас мягко скажем кривая и страшная... вот жду пока @Big_Shark проснется - хоть обсудить с кем
Я тут только 2 часа назад домой добрался, 8 часов за рулём был, ещё не добрался

@fes0r Вроде все круто, но единственное я не очень понимаю как в public function resovlePost(Post $post) приходит $post?

Sergey
02.01.2018
20:55:12
@fes0r Вроде все круто, но единственное я не очень понимаю как в public function resovlePost(Post $post) приходит $post?
короч я сейчас пытаюсь сделать следующую схему. - ресолвер latestPosts по схеме возвращает список Post. То есть ресолвер должен вернуть "список чего-то что мы назовем Post". - мы определили дефолтный ресолвер для типа Post, и он будет вызван для каждого элемента списка. Соответственно Post придет из парент ресолвера. То что там тип Post у аргумента - это так совпало. ты мог бы просто массив прокинуть например (хотя с массивом не прокатит автовайринг, придется забирать из контекста)

или слишком жестко?

Google
Big_Shark
02.01.2018
20:58:26
или слишком жестко?
Нее, слишком жестко, и слишком захардкожено на мой взгляд

Не гибко будет в итоге, думаю надо чтото более простой

Sergey
02.01.2018
20:59:05
ну давай по другому

что бы более предметно - возьмем инстаграм

у тебя там есть посты

и есть десяток-два списков постов

Big_Shark
02.01.2018
20:59:49
я имею ввиду что у нас может и не быть выборки на некоторое количество элементов, а только по одному посту, через ид

Sergey
02.01.2018
21:00:21
и дальше ресолвер по типу подхватит

Admin
ERROR: S client not available

Sergey
02.01.2018
21:00:46
иначе как ты предлагаешь? как сделать проще?

Big_Shark
02.01.2018
21:01:13
Так у тебя че 2 резолва с одним именем тогда бедет?

Sergey
02.01.2018
21:01:28
ммм.... не можешь назвать transformPost))

тот который по типу

Big_Shark
02.01.2018
21:01:34
я предлагаю 2 метода, онит как у тебя конвертирует, а второй загружает

Sergey
02.01.2018
21:01:59
то есть вместо мудрения с ресолверами сделать возможность делать для типов трансформеры?

Big_Shark
02.01.2018
21:02:05
да

Sergey
02.01.2018
21:02:23
трансформер ~= дефолтный ресолвер для типа

Big_Shark
02.01.2018
21:02:34
/** * @Resolver(path="latestPosts", transformer="Post") */

Google
Big_Shark
02.01.2018
21:02:38
вот так допустим

Sergey
02.01.2018
21:02:45
ммм.... нет

это как-то глупо

хотя...

не, глупо

у тебя на уровне схемы есть что должен "трансформировать" latestPosts. Нет смысла это прописывать на стороне ресолвера...

Big_Shark
02.01.2018
21:03:37
ну да, ну тогда у теб просто должно быть

Sergey
02.01.2018
21:04:03
хм... дай подумать...

тут неявная связь выходит в моем варианте

Big_Shark
02.01.2018
21:04:57
/** * @Resolver(path="posts") */ public function resolvePost(int $id) { return $this->gateway->getPostById($id); } /** * @Transformer(type="Post") */ public function transformerPost(Post $post) { return [ 'id' => $post->getId(), 'title' => $post->getTitle(), 'brief' => $post->getBriefDescription(), 'body' => $post->getBody(), ]; }

Sergey
02.01.2018
21:05:34
ну тип того, идея именно в этом была. Просто посчитал что вводить отдельно трансформеры как-то излишне...

ну и еще - Transformer(type="Post") - как думаешь не будет недоразумений что этот тип - это тип по схеме а не то что в аргументах

я потому это ресолвером и назвал... что сомневался

Big_Shark
02.01.2018
21:06:54
ну тип того, идея именно в этом была. Просто посчитал что вводить отдельно трансформеры как-то излишне...
Иначе слишком замудренный вариант получается, там уже тогда нужно чтото типа как в контролере загрузка доктриновских обьектов

Но как тогда быть с resolvePostPreviewImage вопрос

там ка бы резолвер

но нам же нужен и трансформер

Sergey
02.01.2018
21:09:09
трансформер не обязателен

Big_Shark
02.01.2018
21:09:20
Либо указания что он не нужен

Sergey
02.01.2018
21:09:28
в качестве оного выступает дефолтный ресолвер

Big_Shark
02.01.2018
21:09:37
Получается трансформеры только для типов, остальное не трогаем

Sergey
02.01.2018
21:09:40
(потому я все еще сомневаюсь что надо вводить Transformer ибо это все же ресолвер))

Страница 549 из 1418