PowerAxis
По связям есть еще большой вебинар от Елисеева
PowerAxis
На ютубе глянь
Vladislav
Всем привет, комрады. Подскажите пожалуйста как выслать статус 200 в контроллере? throw new \yii\web\HttpException(200); так?
Dmitriy
@ExileeD напомни пожалуйста в чем там проблема YII2 с DI
что где ? автоваринга как минимум нет
Dmitriy
даже в коде такого нет
Dmitriy
Есть автовайринг
он считай не работает толком
Alexey
constructor injection прекрасно работает
Alexey
работает
Alexey
инфа сотка 😊
Alexey
но создавать объекты надо через Yii::createObject, конечно же
Alexey
или через Yii::$container->get()
Alexey
а что по твоему такое автовайринг?
Alexey
мож ты терминологию путаешь
Alexey
или недопонимаешь (:
Alexey
https://symfony.com/doc/current/service_container/autowiring.html
Alexey
в симфони точно также работает автовайринг
Dmitriy
автоматического внедрения зависимости
Alexey
контейнер их автоматически и внедряет
Dmitriy
в симфони точно также работает автовайринг
не совсем. там можно не создавать класс через Yii::createObject или конфигурацию
Alexey
в Yii тоже можно не создавать класс
Alexey
символьная строка в контейнере произвольная
Dmitriy
в Yii тоже можно не создавать класс
но выше написал что нужно
Alexey
Alexey
Alexey
кури маны
Dmitriy
зашебись ответ
Vladislav
Кто нибудь знает как принять такое уведомление от Я.Кассы? https://kassa.yandex.ru/docs/guides/?utm_source=blog&umt_medium=smm&umt_campaign=newapi&utm_post=habr#shag-3-dozhdites-uwedomleniq-o-platezhe Я реализовал такой тестовый метод, но ничего не происходит. public function actionPaymentConfirmation() { $logFile = fopen("yandex-kassa-log.txt", "a"); $data = json_decode(file_get_contents("php://input"), true); fwrite($logFile, $data); fclose($logFile); } Служба поддержки говорит, что Я.Касса при уведомлении получает ошибку 400. 185.71.76.4 - - [15/Jan/2018:15:48:52 +0300] domain.ru POST /payment-confirmantion HTTP/1.1 400 8012 "-" "Apache-HttpClient/4.5.1 (Java/1.8.0_77)" "-" 0.131-0.131 400 Bad Request
Dmitriy
контейнер их автоматически и внедряет
он не знает что внедрять без прописывания их в ручную в кофигураторе
Alexey
знает
Dmitriy
так выше пример что не знает
Alexey
если соответствие не задано явно в контейнере - контейнер пытается создать инстанс класса
Alexey
мы же сейчас автовайринг DI контейнера обсуждаем? или ты на своей волне?
Alexey
в контексте контейнера внедрения зависимостей автовайринг - это инъекция параметров в конструктор, и она в Yii работает
Alexey
но ты себе походу свою терминологию и предметную область выдумал (:
Dmitriy
в yii она работает не совсем так . в Symfony, laravel... с autowiring по умолчанию идёт один инстанс Yii для всего по умолчанию создаются новые инстансы
Alexey
а автовайринг причем тут?
Alexey
настраивай синглтоны и будет тебе счастте
Alexey
они похожи, но разные
PowerAxis
посоны, что почитать, чтоб разбираться во всех этих терминах: автовайринг, синглтон, di контейнер? а то постоянно слышу, а что это такое - смутно понимаю
Дима
Паттерны PHP
PowerAxis
чья-то конкретная книга или в принципе паттерны (наверное не только php)
Дима
Ну я отдельно по статьям читал )
Дима
Про Dependency Injection я вообще для Laravel читал
Dmitriy
а автовайринг причем тут?
да то что контейнер часто не может догадаться где что и что нужно классу
Дима
Так что потихоньку осваивал эти термины
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Всем привет
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Кто с REST работал, я так понимаю из коробки невозможно получить связь со связями? ExtraFields = relation.subRelation?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
и связь у связи со связями)) чтобы красивое дерево получилось из моделей
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Какой-нибудь NestedSerializer?
Alexey
сейчас невозможно
Alexey
https://github.com/yiisoft/yii2/issues/6844
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Alexey
уже даже смержено )
Vladislav
выключи csrf
а как нибудь можно проверить его работу или отсутствия?
Vladislav
а так сойдёт? public function beforeAction($action) { if (in_array($action->id, ['payment-confirmation'])) { $this->enableCsrfValidation = false; } return parent::beforeAction($action); }
Alexey
должно
Alexey
главное parent::beforeAction дернуть после выключения а не до
Vladislav
но я по нему делал https://webformyself.com/yii2-csrf/ протестировал создав на этой странице кнопку с POST запросом и мне что с csrf что без него всё удачно проходит
Vladimir
Хей всем привет Не могу отдебажить ajax запрос, он посылает в контроллер данные и все вроде ок, возвращает 200, но сам код в контроллере походу не спешит выполняться, даже exit() не работает
Vladimir
Он мне алертом на саксес функцию выдает все ок и в js консоли пишет 200 се ок чувак, при этом фреймворк сам не отваливается с ошибками тоже
Yurii
посоны а можно ж правило задавать так, мол обязательно к заполнению для новой записи, необязательно для апдейта ? [['upload_image'], 'image','extensions' => 'jpg,png', 'skipOnEmpty' => !$this->isNewRecord ],
Yurii
дело в том что вроде все работает верно, только вот при попытке сохранения белый экран и /article/create, как будто я в проверках провтыкал условие, или валидацию не проходит в итоге
Yurii
или есть какое-то лучше решение чем 'skipOnEmpty' => !$this->isNewRecord ?
Павел
http://phpinfo.info/yii2-scenario-rules/
Павел
Я бот-поисковик. Рад был помочь
Yurii
спасибо, бот-поисковик! не опробовал сценарии еще, благодарю
Павел
Это моя работа, сынок!
Павел
🔥
в офиц доке мне кажется лучше расписано)