@yii2ru

Страница 840 из 1721
Alexey
12.12.2017
05:30:28
Смотри paulzi/yii2-json-behavior и не изобретай великов)

equicolor
12.12.2017
05:30:36
Короче, попробую еще раз) Если приходит фич-реквест, который проще реализовать хранением json-а произвольной структуры в поле бд, то мы либо маппим json сами, либо тащим какой-то extension. Ни один из них не предоставил мне хранение json-объектов как моделей. Я же могу это сделать (и сделал, но пока без валидации)

Смотри paulzi/yii2-json-behavior и не изобретай великов)
Вы действительно считаете, что интерфейс массивов для доступа таким данным - это нормально? Вас это не смущает, что разработчик должен помнить, где у него модель, а где json в массиве?

Alexey
12.12.2017
05:32:12
Нормального маппинга jsonschema в модели ты все равно не сделал

Google
equicolor
12.12.2017
05:33:01
Нормального маппинга jsonschema в модели ты все равно не сделал
Пока и не делал, в этом и вопрос - текущая реализация меня устраивает. Речь именно про интерфейсы. Если хотите - это proof of concept

Окей, может стоить на форуме попробовать, а то тут сложно конструктивно?

Malika
12.12.2017
05:43:30
всем привет

есть вопрос

Alexey
12.12.2017
05:45:27
Окей, может стоить на форуме попробовать, а то тут сложно конструктивно?
тебе конструктивно сказали - убери конфигурацию атрибутов в массив конфигурации поведения

Malika
12.12.2017
05:45:48
как принять файл через рест

public function actionCreate(){ $request = Yii::$app->request; if($request) { $model = new Application(); $file = UploadedFile::getInstanceByName('file'); if ($model->file && $model->validate()) { $filename = uniqid() . '.' . $model->file->extension; $model->file->saveAs(Yii::getAlias('@frontend/web/files/' . $filename)); $model->filename = $filename; $model->user_id = $request->getBodyParam('user_id'); $model->category_id = $request->getBodyParam('category_id'); $model->district_id = $request->getBodyParam('district_id'); $model->address = $request->getBodyParam('address'); $model->apartment = $request->getBodyParam('apartment'); $model->subject = $request->getBodyParam('subject'); $model->body = $request->getBodyParam('body'); $model->type = $request->getBodyParam('type'); $model->save(); return [ 'result' => true, 'success' => 'Ваше обращение отправлено.' ]; } else { return [ 'result' => null, 'error' => 'Not saved', ]; } } }

отправляю через postman

Content-Type multipart/form-data

но файл не приходит

а без headers приходит как быть?

Alexey
12.12.2017
05:47:09
там надо читать rawBody

Malika
12.12.2017
05:47:40
Google
Alexey
12.12.2017
05:49:24
для начаала посмотри че у тя в $_FILES

Malika
12.12.2017
05:49:48
null с Content-Type multipart/form-data

Alexey
12.12.2017
05:50:31
оч странно ?

Malika
12.12.2017
05:51:00
?

'request' => [ 'parsers' => [ 'application/json' => 'yii\web\JsonParser', ], ],

в конфиге так указала

'multipart/form-data' => 'yii\web\MultipartFormDataParser'

это не работает что ли

Alexey
12.12.2017
05:52:46
без этого вроде норм работало

Malika
12.12.2017
05:53:10
у вас есть пример кода или например

от своего чтоли

Alexey
12.12.2017
05:53:28
да у меня тоже самое :D

$_FILES он заполняется до реквест парсеров

самим php

странно что он у тя пустой

equicolor
12.12.2017
05:54:30
тебе конструктивно сказали - убери конфигурацию атрибутов в массив конфигурации поведения
да, я это заметил. Но для такого решения у меня была причина. При RAD у меня в поведениях может накопиться много всего, а так как я это все затеял чтобы использовать анонимные классы PHP7 - очень удобно объявлять модель прямо "inline". Поэтому куче моделей, наверное, не место в behaviors()

equicolor
12.12.2017
05:55:09
В конфигурации приложения?

Alexey
12.12.2017
05:55:24
поведения

equicolor
12.12.2017
05:57:00
поведения
в поведениях может накопиться много всего, а я собираюсь использовать анонимные классы PHP7, очень удобно объявлять модель прямо "inline". Т.е. мне не нужны новые файлы с классами или "лишние" классы внутри файла. Поэтому я придумал статический метод, чтобы собрать все дочерние документы вместе.

Google
Malika
12.12.2017
05:57:24


equicolor
12.12.2017
05:57:47
поведения
Мне, кажется, что ваш аргумент стоит внимания. Но тогда для моего кейса неудобное API. Подумаю над этим, спасибо

Таки если бы кто-то сделал до меня расширение рабочее на синтаксисе new class - я бы его заюзал

Malika
12.12.2017
06:01:35
ниче если без headers будем отправлять?

equicolor
12.12.2017
06:37:55
Вопрос старожилам http://yiiframework.ru/forum/ Если я хочу обсудить свое расширение, плюсы-минусы и целесообразность - оно еще не готово к релизу - это в общий тред вопросы или сразу в авторский код?

Vladislav
12.12.2017
06:51:53
Всем привет) где можно посмотреть полную рабочую реализацию загрузки фотографий в виджете vova07\imperavi\Widget, а то у меня не хочет грузить и я хз почему.

Evgeniy
12.12.2017
06:52:29
Привет, в логи ничего не пишет?

Vladislav
12.12.2017
07:13:19
в консоли браузера ничего

а дебага нет так как он на хостинге лежит

а хотя нет 403 ошибка есть

ладно спасибо)) я уже сам продвинулся)

Maxim
12.12.2017
07:25:45
Roman
12.12.2017
07:26:07
ладно спасибо)) я уже сам продвинулся)
всегда пожалуйста, спрашивай еще ?

Maxim
12.12.2017
07:26:53
ладно спасибо)) я уже сам продвинулся)
нет прав на запись в папку?

equicolor
12.12.2017
07:27:20
В чем преимущество использования анонимного класса?
Возможность декларативно задать структуру вложенных документов "не отходя от кассы"

Vladislav
12.12.2017
07:27:23
права были не прописаны в behaviors контрллера

Evgeniy
12.12.2017
07:27:29
нет прав на запись в папку?
кстати, как вариант

equicolor
12.12.2017
07:27:49
В чем преимущество использования анонимного класса?
Естественным для языка PHP способом с использованием новых фич)

Alexey
12.12.2017
07:28:20
когда хочется писать как на джаве, но на пхп

Vladislav
12.12.2017
07:28:39
хотя щас включил дебак ajax на загрузку проходит с результатом 200, но куда файл девается не понятно или я пути прописал не верно

Google
equicolor
12.12.2017
07:28:57
ну если хочется вспоминать ['param'] или >param - то можно и не запариваться)

или дать всем установку юзать phpDoc. а можно заюзать value objects и забить, где это хранится и как реализовано (идея такая)

Alexey
12.12.2017
07:30:30
не оч понятно как это поможет

в IDE подсветки все равно не будет

а если не будет подсветки, то можно и json behavior заюзать, который в stdObject все десериализует

equicolor
12.12.2017
07:31:54
Поможет просто: у тебя отныне есть Model, у которой вполне может быть model->submodel->subsubmodel. StdObject не аргумент - что если мне нужна логика над моиими inline-моделями?

Admin
ERROR: S client not available

Alexey
12.12.2017
07:32:13
единственный плюс который тут можно найти - это валидация схемы, но у тебя ее вроде и нет

equicolor
12.12.2017
07:32:29
Все заранее договорились, что работают с моделями как нормальной доменной моделью и не парятся, что это было json поле или relation

Alexey
12.12.2017
07:33:15
а потом тебе запостят [[[[[[[]]]]]]]] в профиль

и все пойдет по звезде ?

equicolor
12.12.2017
07:33:41
С чего же? Делайте FormModel и валидируйте.

Или я сделаю там валидацию

Вы модели как сохраняете? ->save()? А пачку моделей?

Alexey
12.12.2017
07:34:09
в общем ты пытаешься в активрекорд скотчем и изолентой прикрутить доменную модель, это оч странно

equicolor
12.12.2017
07:34:20
Типа того

Alexey
12.12.2017
07:34:39
активрекорд это другой совсем паттерн (:

equicolor
12.12.2017
07:34:57
Пытаюсь найти быстрый способ писать поддерживаевыеме приложения на yii с минимальным оверхедом по разработке. Вот с этой штукой пока всё получается

Alexey
12.12.2017
07:35:01
даже елисеев когда свои репозитории и DDD пытается колхозить - использует активрекорд зачем-то

Google
equicolor
12.12.2017
07:35:41
Это какие, data-driven ад-то легко поддерживается?)

Ортем
12.12.2017
07:36:45
Что именно от ад требуется ?

equicolor
12.12.2017
07:37:25
Ад - это противоположность раю)

Alexey
12.12.2017
07:44:52
че-то тут не так с инструментами ?

Сергей
12.12.2017
07:53:22
Добрый день! Нужна простенькая система для хранения паролей. Вопрос - как их собственно хранить, чтобы было безопасненько :)

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

Никита
12.12.2017
07:57:01
Сергей
12.12.2017
07:57:24
а почему не подходит классическая схема хранить на сервере хэш от пароля и соль?
Мне нужно ещё и расшифровывать пароль и показывать его в открытом виде

equicolor
12.12.2017
08:03:51
а нафига тебе sql в data-driven?
yii\db\ActiveRecord разве не про data-driven? Таблицы=бизнес-объекты, я про такое

А вот если затащить сюда монгу то как бы и нет проблем. Это именно в условиях ограниченного стека закостылить источник данных

Alexey
12.12.2017
08:04:43
есть подход schema-first, а есть data-first

вот ты пытаешься данные без нормализации с переменной структурой в существующую схему RDBMS уместить и получаешь боль :D

equicolor
12.12.2017
08:07:34
Да, у нас подход feature-first, так что никому нет дела, что там первично было на этапе постановки задач =)

equicolor
12.12.2017
08:08:26
Ну так, я просто вижу уже 7 лет, везде люди лепят такие велосипеды над mysql+yii

Страница 840 из 1721