
Mikhail
20.03.2019
20:57:59
Да? Ну ладно. Не застал.

Igor
21.03.2019
09:10:46
Всем привет, никто не может подсказать, как мне вытащить из массива данные и присвоить их к переменной, или смержить с существующим массивом в переменной? тоесть у нас есть
$TO_TPL = array (
'test' = 0
)
array (
'departFrom' => 22
)
$TO_TPL['departFrom'] //22
$TO_TPL['test'] //0
как грамотно это смержить? через array_merge ?

Alexandr
21.03.2019
10:18:08
$TO_TPL = array_merge($TO_TPL, array('departFrom' => 22));

Google

Igor
21.03.2019
10:18:59
спасибо) именно так и сделал

ustasby
21.03.2019
15:40:34
о, работорговцы пожаловали

Eugene "VEVer"
21.03.2019
16:17:55
Народ, а кто чем пользуется для экспорта в excel ? В проект на Symfony4 нужно что нить простое и топорное.

ustasby
21.03.2019
16:21:36

Eugene "VEVer"
21.03.2019
16:25:59
phpexel
Он сейчас PHPSpreadsheet. Сложноват синтаксис, что-нить попроще бы. Типа, вот есть https://github.com/MewesK/TwigSpreadsheetBundle, использующая с интеграции Twig.
Вот что нить на подобие бы.

Dziro
21.03.2019
16:27:09
да ладно. там элементарно всё
примеров полно

Eugene "VEVer"
21.03.2019
17:26:18
В общем, по phpoffice знаю. Ищу альтернативы и надстройки для Symfony

Pavel
21.03.2019
17:29:22
лучше phpoffice по-моему нет ничего, всякие легкие надстройки рискованы своей сыростью.

Виталя
21.03.2019
18:12:07
Всем привет, столкнулся с проблемой при работе с PhpWord
Мне надо в сущетсвующий файл, к таблице добавить строку, решения на просторах интернета не нашел
Кто-то сталкивался с такой проблемой ?

Alexandr
22.03.2019
05:55:44

Kirill
22.03.2019
06:55:36
А есть какая-то более короткая запись выражения (кроме как без фигурных скобок)?
if (!isset($data['field'])) {
throw new \Exception('Bla bla bla');
}

Alexandr
22.03.2019
06:57:30
зависит от версии php

Google

Сасный
22.03.2019
06:58:51

Adel
22.03.2019
06:59:31

Kirill
22.03.2019
07:00:34

Сасный
22.03.2019
07:01:46
Ну тогда вариант Adel ?♂

Adel
22.03.2019
07:02:15

Kirill
22.03.2019
07:03:19
да никто не мешает, просто не хочется DTOшку нагружать всякими допами

Adel
22.03.2019
07:04:09
DTO остается той же

Kirill
22.03.2019
07:04:45
в целом да

Adel
22.03.2019
07:05:40
ну я не в шутку это предложил. если у тебя часто такие вещи попадаются, то весьма правильно это выделить в отдельный класс(функцию) а если не часто, то зачем пытаться сократить?

dypa
22.03.2019
08:19:23

Kirill
22.03.2019
08:20:53

dypa
22.03.2019
08:22:17

Kirill
22.03.2019
08:22:29
это точно ?

Gena
22.03.2019
08:56:12
Пхаха зачёт
Ребята, есть необходимость хранить версии сущностей в бд. Есть продукт, у него много данных - категории, статусы, цена, опции и т.д. Все данные разбросаны по таблицам с соответствующими связями. Какие подходы в решении данной задачи посоветуете?

ustasby
22.03.2019
09:34:11
пиши историю в монго

Gena
22.03.2019
09:35:02
Ты имеешь ввиду серелизовать объект и кидать в монго?

ustasby
22.03.2019
09:35:26
как угодно, лишь бы понятно

Google

Gena
22.03.2019
09:36:21
А если без прикручивания второй бд?

Dmitry
22.03.2019
09:37:22
event sourcing ?

Feodor
22.03.2019
09:37:23
Не знаю масштаба, может глупо будет, у нас просто дифы лежат. Текущее состояние плюс история изменений. Хранится история прав и профиля, там немного.

Gena
22.03.2019
09:39:10

Adel
22.03.2019
09:40:29
хотя и правильный совет дал :)))
но это как пушкой по воробьям

Gena
22.03.2019
09:41:39
он пошутил
=) откуда ж мне знать, если не сталкивался с этой технологией.

Kirill
22.03.2019
10:06:15
под версией ты имеешь ввиду версию документа или версию структуры документа?

Gena
22.03.2019
10:14:57
под версией ты имеешь ввиду версию документа или версию структуры документа?
под версией я подразумеваю как изменялась сущность.
Смотри, мы создали продукт с свойствами title='продукт1', price=555. Допустим, для него ставим версию 1.
Потом мы заапдейтили этот продукт и изменили его цену на 777. Теперь у продукта версия 2.
Вопрос сам заключается в том, как это правильно разруливать. Где хранить версии продуктов, в тех же таблицах с указанием версии и с указанием id родителя?

Admin
ERROR: S client not available

dypa
22.03.2019
10:18:21


Kirill
22.03.2019
10:19:43
Я в свое время реализовывал очень простой вариант версионирования и он в принципе работал нормально.
1. Тебе нужно научиться получать хэш от документа по тем полям, изменение которых ты будешь считать за изменение версии документа. Этот хэш ты генерируешь на уровне приложения.
2. Тебе нужна вторая таблица, которая будет хранить историю изменения сущности. Например, у тебя есть таблица table_entity, создай вторую таблицу table_enity_history с набором полей из table_entity, но с добавлением доп. поля - documentHash и, возможно доп. набором а-ля createdOn, modifiedById и т.д.
3. У таблицы table_entity_history поле documentHash нужно будет сделать уникальным, чтобы оно являлось частью составного PRIMARY_KEY
Далее на уровне приложения когда происходит изменение документа ты считаешь его хэш и транзакционно делаешь вставку/обновление в обе таблицы, причем во вторую делаешь INSERT IGNORE.
Если тебе нужно добавить доп. поле, то ты добавляешь его в обе таблицы.
Вот и вся любовь. Достаточно просто. Но нифига не гибко.


ustasby
22.03.2019
10:19:44

dypa
22.03.2019
10:20:51
люблю простые советы, бери foo или bar и будет всё


Gena
22.03.2019
10:28:43
какая конечная цель подобного хранения?
Цена на продукт может меняться. Допустим, человек заходит на сайт и видит, что цена на продукт 10 долларов, это акционная цена и человеку такая низкая цена нравится. Он делает заказ по этой цене и ожидает, что заплатит 10 долла в конечном итоге.
Но в проекте при оформлении ордера нельзя указывать цену продукта, как это обычно бывает (вот такие условности проекта).
И получается, что мы указываем в ордере id продукта, его количество. Но завтра цена на продукт поменялась на 50 долларов. И когда посмотрим на ордер - то получается, что человек купил продукт по цене уже в 50 долла.
появилась необходимость хранить версии продуктов. Т.е. в ордере указывать, что человек купил товар с такой-то версией, а для этой версии уже была определённая цена

dypa
22.03.2019
10:46:28
у тебя 2 разных товара, с разными ценами. версии не решат кучи проблем с ценообразованием

ustasby
22.03.2019
10:49:29
Цена на продукт может меняться. Допустим, человек заходит на сайт и видит, что цена на продукт 10 долларов, это акционная цена и человеку такая низкая цена нравится. Он делает заказ по этой цене и ожидает, что заплатит 10 долла в конечном итоге.
Но в проекте при оформлении ордера нельзя указывать цену продукта, как это обычно бывает (вот такие условности проекта).
И получается, что мы указываем в ордере id продукта, его количество. Но завтра цена на продукт поменялась на 50 долларов. И когда посмотрим на ордер - то получается, что человек купил продукт по цене уже в 50 долла.
какой то дурацкий проект, цена фиксируется в момент покупки, если потом продавца не устраивает и акцепт позволяет ему изменить цену - он либо просто меняет на текущую, либо отменяет заказ. Тут проблемы с логикой однозначно

Google

Mr. Blonde
22.03.2019
10:56:52
Добрый день.
Только знакомлюсь с сокетами, выбрал библиотеку workerman.
Решил сделать чатик: личные сообщения, сообщения для группы.
Думаю сделать следующим образом:
На фронте создавать json, отправлять на сервер, а на сервере уже уго разбирать (для группы это сообщение или приватное).
Подскажите, это правильный подход?

Gena
22.03.2019
11:12:13

Aleksandr
22.03.2019
11:14:52
При любой модификации товара проверяется менялась цена или нет. И если изменилась - то добавляется запись в эту таблицу

Gena
22.03.2019
11:15:40

Aleksandr
22.03.2019
11:17:59

Gena
22.03.2019
11:18:55
как ты будешь в эту таблицу класть many-to-many? У товара есть категории

ustasby
22.03.2019
11:27:50

Gena
22.03.2019
11:30:49

ustasby
22.03.2019
11:32:12
в любом случае это же изменения, собирать все данные в json

Kirill
22.03.2019
11:33:14
Большинство вещей которые сложно делать на самом деле просто лень делать.

Gena
22.03.2019
11:33:38

hvarts
22.03.2019
11:33:38
ребят. а какой регуляркой весь текст вытащить html страницы?
есть какая-то универсальная