Павел
Еще можно glob патерны использовать
Kirill
Как демку можно юзать
Павел
Павел
Валентин в своем скелетоне показывал
Павел
И еще получается у тебя доктрина смотрит на всю апку. Хотя мб и пофиг
Павел
Те же типы в одном общем месте
Павел
Павел
Nikolay
Nikolay
Как пример, вот
- { resource: ./../src/**/config/di.yml}
Nikolay
Павел
Т.е. например если в одном модуле забиндить что то, то это будет доступно и в другом. Вроде и ок, вроде и не ок
Nikolay
Павел
_default:
bind:
$env
Павел
Короче основной поинт в том, что конфиг хоть и располагается в папке модуля - он единый системы. Ну это просто как факт
Nikolay
Kirill
Павел
Если же грузить через Кернел, как Удальцов предлагал, то там конфиги будут как бы своих "неймспейсках". Это имеет как плюсы (что свой), так и минусы (что надо некоторые вещи дублировать)
Kirill
Так-то, с удовольствием посмотрю как порезать это всё нормально
Павел
Но вообще вариант с импортом ручным все равно неплох по папкам, я лично не думал о таком)
Павел
https://github.com/vudaltsov/symfony-modular-skeleton
Вариант Удальцова
Павел
Хм
Павел
Чет наверное я путаю сам тогда, дейстивтльено у него так и есть)
Павел
Я чет думал у него через Кернел
Павел
Павел
Вот это вот все про доктрину и тп
Павел
Они получаются все так же в config/package общие для всего проекта?
Павел
Я чет думал я кернел у Удальцова взял, а оказывается в другом месте где то )))
Павел
И например есои укащать теггет итератор одного модуля в другом - то он его видеть не будет.
Павел
Альясы сервисов наверно тоже
Михаил
Михаил
Эпиляция к авторитету, понял
Павел
Я не говорю пользоваться, я описываю какие возможности есть, и что есть те кто пользуется, и не только новички
Михаил
Я знаю парня, который знает парня, который сказал что генерация через cli не удобная
Павел
Dmitriy
Мы свой генератор написали для болерплейта
Dmitriy
А по поводу как у Удальцова, используем этот подход, никакого дублирования в конфигах.. если конфиг содержит детали модуля, то он находится в модуле.. общие вендорные вещи в дефолтных yaml конфигах
Павел
Dmitriy
не.. у нас в кернеле все конфиги из всех модулей импортируются
Dmitriy
кстати наш генератор например для круда создает полностью все - ручки, тесты, openapi спеку
Павел
Если в модуле А сделать тегет итератор, то его нельзя будет заинжектить в модуле Б, он его тоже не увидит
Павел
Ну как то так короче
Dmitriy
не понял о чем ты.. у нас практически все на атрибутах
Павел
Т.е. конфигы загружаемые через лоадер, работают в рамках скоупа который они автовайрят
Михаил
Dmitriy
и энвы и таггед итератор, все через атрибуты
Михаил
Ну да, в этом и смысл. Пишешь спеку - из нё всё генерится. Обновляешь спеку - всё обновляется
Dmitriy
надеюсь доживем когда голосом будешь управлять AI чтобы подобное делать
Dmitriy
Павел
и энвы и таггед итератор, все через атрибуты
Если не ошибаюсь (просто такая фигня была с ямлом и тегами), например возьмем тегет локатор.
Обозначим интерфейсом сервисы лежащие в модуле А, в потом ContainerInterface который будет являться точкой доступа для этих сервисов, обозначим в модуле Б. То сервисы из модуля А, внутри контейнера модуля Б - не окажутся. Потому что у них разный скоуп DI
Михаил
Ну ладно, потом дойдёте
Dmitriy
видимо ты меня не так понял
Dmitriy
Павел
Через кернел - честный конфиг своего модуля.
Через импорт главного конфига по маске - просто дробление на отедельные файлы основного конфига. Но конфиг всё так же един
Павел
Но я не говорю что, что то лучше хуже - просто есть свои + и -
Михаил
Конфиги просто ужаснык, луичше через аннотацию
Павел
просто перносим описание
Саша
Нyжны 2 человека.Нужен телефон и два часа свободного времени в день. От 200 зeлёных в дeнь. Удалённaя сфера.За подробностями пишите сюда [@top_grooup13bot]
Dmitriy
Подскажите, как победить пхпстан 10го уровня? )
https://phpstan.org/r/31bce9df-d1d8-4647-a763-fd6535709243
Евгений
<?php declare(strict_types = 1);
class Uuid
{
private string $uuid;
public function __construct(string $uuid)
{
$this->uuid = $uuid;
}
public function __toString()
{
return $this->uuid;
}
}
class HelloWorld
{
/**
* @param list<Uuid> $a
*
* @return list<string>
*/
public function sayHello(array $a): array
{
$b = array_map(
static fn(Uuid $c): string => (string)$c,
$a,
);
return $b;
}
}
Евгений
на именнованные константы и модификаторы доступы у меня ругается для php 7
Kirill
Kirill
это багло в стане, кажется
Dmitriy
ага спасибо )
Nikolay