Kirill
в большинстве случаев get/set отрабатывают согласно расширению/сужению
Kirill
однако там есть ограничения, если свойство в родителе специфицировано
Kirill
и тогда в set входящий аргумент свойства нельзя расширять вроде
Kirill
блин, забыл уже
Юра
По идее если ты в шаблоне напишешь covariant T, то ты не сможешь указать более общий аргумент в наследнике
Kirill
я про язык)
Kirill
не про стан
Юра
Ну про язык да. Там вообще нет шаблонов )
Kirill
ну вот, я говорю что есть какой-то случай, когда аргумент set у свойства нельзя расширить
Юра
Для меня теория типов всегда сложная тема
Юра
Потому что обычно не задумываешься над этим
Юра
Особенно в пхп
Aleksandr Khristenko
если заткнуть туда A instanceof B, то на выходе внутри стана будет non-empty-list<A|B>
Вот это кстати да. Есть такое что потенциально невалидный код если его рассматривать с точки зрения уникальных типов просто перестает быть невалидным, когда мы делаем юнион. И пхпстан это и делает.
Vlad
@zim_it кажется бот прохлаждается
Юра
Странно бот пишет что сообщение удалено но оно тут
Юра
А у меня закоменчен код который удаляет )
Юра
Мде
Юра
Все надеюсь теперь уже все пофикшено
Вадим
привет! подскажите пож как правильно указать тип дженерик аргумента если они переменного количества. Так не получается.
Юра
Может Iterable<T>
Kirill
@param CoreRequestInterface<TResponse> ...$requests
Вадим
троеточие добавить, не?
блиин, откуда ты узнал! сработало, спасибо! :)
Kirill
что значит откуда? дефолтный синтаксис вроде как)
Kirill
что значит откуда? дефолтный синтаксис вроде как)
*времён php 5.6 https://docs.phpdoc.org/guide/references/phpdoc/tags/param.html
#lest
Добрый день! Мне надо развернуть на своем домашнем сервере множество сервисов которые крутятся на своих докер контейнерах как отдельный независимый проект и которые будут доступны на своем под домене например: id.site.ru - авторизация/регистрация/управление аккаунтом pass.site.ru - менеджер паролей юзера notes.site.ru - заметки юзера и множество подобных сервисов Чтобы они были доступны извне я арендую легковесный vds сервер и настрою VPN. Вопрос в том делать ли мне отдельный сервис gateway на домашнем сервере чтобы он по домену перенаправлял на порт каждого сервиса или делать его на vds. При первом подходе надо открыть только один порт на домашнем сервере, перенаправление берет на себя gateway на домашнем сервере по домену, на для второго подхода придется открывать порты для каждого сервиса на домашнем сервисе Возможно, существуют какие-то подводные камни, о которых я не знаю из-за отсутствия опыта в реализации подобных проектов.
#lest
Для авторизации и получение данных юзера я делаю запросы на id.site.ru внутри каждого сервиса где это нужно, нормальный ли это подход
Apxat
А зачем вообще тут ВПН ?
Apxat
Ааа понял, мне кажется проще белый айпи у провайдера заказать если все разворачивать на домашнем сервере
#lest
увы, но надо по VPN
allpeg
Добрый день! Мне надо развернуть на своем домашнем сервере множество сервисов которые крутятся на своих докер контейнерах как отдельный независимый проект и которые будут доступны на своем под домене например: id.site.ru - авторизация/регистрация/управление аккаунтом pass.site.ru - менеджер паролей юзера notes.site.ru - заметки юзера и множество подобных сервисов Чтобы они были доступны извне я арендую легковесный vds сервер и настрою VPN. Вопрос в том делать ли мне отдельный сервис gateway на домашнем сервере чтобы он по домену перенаправлял на порт каждого сервиса или делать его на vds. При первом подходе надо открыть только один порт на домашнем сервере, перенаправление берет на себя gateway на домашнем сервере по домену, на для второго подхода придется открывать порты для каждого сервиса на домашнем сервисе Возможно, существуют какие-то подводные камни, о которых я не знаю из-за отсутствия опыта в реализации подобных проектов.
Да. Такой сервис называется reverse proxy. Советую его не "делать" а взять готовый (nginx, caddy)
#lest
Я его и так собирался делать на nginx, но насчет caddy почитаю
Kirill
зачем нужен nginx, когда есть angie)
Vlad
зачем нужен nginx, когда есть angie)
а ты его уже используешь в проде?)
Михаил
зачем нужен nginx, когда есть angie)
Зачем нужен nginx и angie когда есть nginx-unit)
Kirill
тот же phplrt.org
Kirill
angie, http/3 и все дела
The Ant
зачем нужен nginx, когда есть angie)
Когда на прод поставишь тогда и поговорим 😄
Kirill
и ссылку кинул
Kirill
лол?
The Ant
так я ж написал что на проде
Прод пет проекта? 🤣 Когда трапков на прод енжи затащит.
Kirill
на моих проектах везде энжи
The Ant
Оно мелкие, их не пытаются взломать. Нет нагрузок. И баги выявлять не на чем.
Андрей
Привет! Подскажите как сделать чтобы все маршруты с определенным префиксом обрабатывались одним и тем же методом контроллера? Например: - http://127.0.0.1:8080/api/v1/test - http://127.0.0.1:8080/api/v1/test/dddd/err - http://127.0.0.1:8080/api/v1/test/fdsf/sfs/sff т.е. все маршруты, которые начинаются на /api/v1/test попадали в один и тотже метод контроллера.
Андрей
Спасибо, помогло!
Михаил
Э?
Михаил
Это от ботов?
Maks
да, недавно сильно порезали всем права
#lest
Добрый вечер! Можете помочь с системным дизайном проекта, я делаю много проектов которые будут работать в своих поддоменах внтури своих докер композ файлов, на скрине пример одного из проектов в поддомене, и таких проектов будут 10+, проблема в том что в угоду независимости проектов друг от друга для каждого из них я сделал свой mysql, этот mysql лучше вынести в проект gateway (там просто nginx который по server_name перенаправляет на порты каждого проекта) чтобы не дублировать mysql для каждого проекта или так и оставить?
#lest
еще вопрос, мне делать ssl серты только для gateway или лучше для каждого проекта тоже прикручивать серты?
#lest
+ еще вопрос по авторизации между проектами, у меня за это ответчает отдельный проект на поддомене id.example.com, авторизация через сессии (сессия оттуда сетиться на все другие поддомены тоже), на других проектах где нужна авторизация я просто на стороне сервера в php коде делаю curl на id.example.com/api/user/profile чтобы получить юзера, если он есть то значит юзер авторизован на сервисе id.example.com, иначе ошибка 401. Такой вариант нормальный или можно было по другому сделать?
SK
еще вопрос, мне делать ssl серты только для gateway или лучше для каждого проекта тоже прикручивать серты?
это reverse proxy а не гейт, гейт это другое. Серты можно тока на проксю повесить, если всё находится в пределах одного сервака. Ну или на крайняк сетки, но там нюансы
#lest
можно mysql просто в network общий добавить и каждому проекту эту сетку дать
Т.е. лучше не делать для каждого проекта свой mysql?
#lest
Тогда сборка сложная будет, проект будет зависеть от этого mysql
SK
ты делаешь как хочешь, у каждого решения свои плюсы и свои минусы, что тебе подойдёт я знать не могу, а вообще прочитай про микросервисы, мне кажется ты что то не то мутишь
Vlad
что то бот ваш не работает:)
Юра
Устал может
Vlad
Проверю
да подключите уже @lolsBotCatcherBot, хватит пинать мертвого))
Maks
да подключите уже @lolsBotCatcherBot, хватит пинать мертвого))
лучший бот - бот сделанный своими руками)))
Vlad
Верим)
Lols Anti Spam
Меню настроек symfony. 🕶️ Можно продолжить настройку в личке. Если вы тут впервые, то прочитайте 📖 краткое описание опций. Для большинства чатов никаких дополнительных настроек не требуется. С вопросами можно обращаться к @lolsUserbot ⬜ опция отключена ✅ - включена ❌️ - удалять 🔇 - обеззвучить ⛔ - заблокировать 🔒 - платная опция
Михаил
лучший бот - бот сделанный своими руками)))
Для этого нужно уметь писать код
Михаил
Вау, это новая функция телеги - попапы?
Денис
Подскажите, почему могут не отображаться стили? Файл вообще не распознается и выводит 404 ошибку. Проект вложен в корневую папку subdomain, вот конфиг нджинкса server { listen 80; server_name dev.eztrading.art; root /var/www/eztrading_ar_usr3/data/www/eztrading.art/subdomain/public; index index.php; location / { try_files $uri /index.php$is_args$args; } location ~ ^/index\.php(/|$) { fastcgi_pass unix:/var/run/dev.eztrading.art.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } location ~ \.php$ { return 404; } error_log /var/www/eztrading_ar_usr3/data/logs/nginx_error.log; access_log /var/www/eztrading_ar_usr3/data/logs/nginx_access.log; }
Kirill
Вау, это новая функция телеги - попапы?
больше веселит то, что это сообщение со спамом антиспам бота)
Kirill
это как антивирус, который ставит троян-вымогатель: "пока вы не заплатите за антивирус все ваши файлы будут зашифрованы")))
Юра
Лучше бы разобрались как боты попадают чат
Юра
А то они бесконечно добавляются
Юра
И даже если антиспам удаляет сообщения они все равно сколько-то висят в чате
Aleksandr
так капча бот дырявый
Aleksandr
мы же уже выяснили)
Юра
Может есть другой капча бот