
Юрий
22.10.2018
11:51:27
Спасибо

Grigoriy
22.10.2018
11:53:03
Как вы работаете, когда сборные данные получаются из двух нормализованных таблиц?
Пример: статьи и категории. Роутер должен отрабатывать или по имеющейся статье или по категории. Получается есть некая коллекция того-или-другого. Значит надо ее предварительно построить и сделать третью таблицу, чтоб не грузить всю коллекцию в оперативку каждый раз? или есть способ поумнее

Maksim
22.10.2018
11:53:06

Bohdan
22.10.2018
11:53:37

Google

Bohdan
22.10.2018
11:53:56
просто wkhtmltopdf отстойный) и либки его не спасут)
хотя с хромиум-бейсед штуками дело не особо лучше
короче, отстойный здесь пдф

Maksim
22.10.2018
11:54:32
да это либка - просто обёртка.
а, посмотрел) тоже та же обёртка

Bohdan
22.10.2018
11:55:05
да, бандл там отдельно
твоя похоже посимпатичнее

Maksim
22.10.2018
11:56:16
сраный мелкософт: сделал релиз, он попал в packagist, а через пару мгновений релиз удалился с гита)

Bohdan
22.10.2018
11:56:32
лол, опасно

Maksim
22.10.2018
11:57:23
так-то не очень, но всё равно неприятно)

Dmitry
22.10.2018
11:58:21

dypa
22.10.2018
11:59:21

Maksim
22.10.2018
11:59:46

Google

dypa
22.10.2018
12:00:15

Grigoriy
22.10.2018
12:01:03
не, это я пытаюсь соединить вместе
если не лепить - я не понимаю как сделать
фишка в том чтобы страница сайта работала если есть то или другое
при этом контентщики могут менять строго статьи
я пытаюсь сейчас сделать админку которая позволит одновременно создавая пост - прикреплять категорию
но категории хранятся деревом произвольной вложенности
получается мне либо нужно категории создавать вручную дублируя посты, либо slug каждого поста лепить к категории
здесь получается крайне запутанный клубок - два совершенно разных дерева, которые в некоторых местах пересекаются. точка пересечения - одинаковый урл

dypa
22.10.2018
12:01:48
я просто добавил, то что посчитал нужным.
мне кажется, что отрасли сейчас жутко не хватает стандартизации, хотя бы минимальной.
я с ужасом думаю, что есть программисты которые пишут софт для АЭС, кофеварки и как выяснилось github ^^ %)

Maksim
22.10.2018
12:03:12
в чисто совковых таких формулировках :)

dypa
22.10.2018
12:05:15
а потом кадровик тебя допытывает какой тебе разряд писать ?

Bohdan
22.10.2018
12:05:29
программист 6го разряда
ой, простите, инженер-кодописец

Maksim
22.10.2018
12:06:15
рынку нахуй не нужна формализация требований для формашлёпов, поэтому их нет и не случится)
те, кто пишет софт для аэс, наверняка увешаны разрядами и регалиями до 5ого колена)

Arky
22.10.2018
12:07:33

Maksim
22.10.2018
12:07:40
не уверен)
я как-то стёба ради читал регламент тестирования авиационного ПО, это ж головой ёпнуться можно...

Bohdan
22.10.2018
12:10:06
они даже про пхп не знают, наверное

Dmitry
22.10.2018
12:11:26

Maksim
22.10.2018
12:11:29

Dmitry
22.10.2018
12:13:04

Andrew
22.10.2018
12:14:48

Grigoriy
22.10.2018
12:15:31

Dmitry
22.10.2018
12:15:45

Google

Grigoriy
22.10.2018
12:15:56
значит ли это что кроме как взять это дерево, построить предварительно коллекцию и залить ее назад в базу - один выход
или стой. ты хочешь чтобы было /(ид_категории ИЛИ ид статьи) на одном уровне урла?
может, только там не айди
получается как
articles
id / slug / parent
categories
id / slug
categories_tree
parent / id / level / depth
нельзя просто взять и вытянуть из артиклей урл - там только куски. получается я вытягиваю все артикли, строю дерево, получаю урлы. та же херня с категориями. потом сверяю. где совпали урлы - показываю статью. где не совпали - просто каталог с фильтрами
смысл в том чтобы посты были необязательной штукой если есть категории, и категории не обязательны - если есть посты

Dmitry
22.10.2018
12:23:56

Grigoriy
22.10.2018
12:24:10
это некоторые чпу называют

Dmitry
22.10.2018
12:24:17
а

Grigoriy
22.10.2018
12:24:19
типа английское представление русского названия
с дифисами вместо спецсимволов

Dmitry
22.10.2018
12:24:54
slug у тебя в бд хранится и он строгий или на самом деле там "любой набор символов" как на большинстве сайтов?

Marcus
22.10.2018
12:26:06

Dmitry
22.10.2018
12:30:30

Grigoriy
22.10.2018
12:32:07
спасибо, видимо так и буду делать, вместо кеша таблицу все таки, ибо кеш на 20 кусков категорий это 3 мегабайта РАМы на юзера
а будет 100кусков

Marcus
22.10.2018
12:33:29

Grigoriy
22.10.2018
12:33:32
а вот в момент открытия страницы считать с диска и сделать массивом - это 3мега рамы
наверное типа редис можно прикрутить если очень хотеть в раме его держать, но типа кеш в базе тоже может быть и запросами дергать по урлу

Marcus
22.10.2018
12:34:43

Grigoriy
22.10.2018
12:35:10
знания не позволяют а не религия. инмемори я не видел раньше и не использовал

Google

Grigoriy
22.10.2018
12:35:25
если это какая-то технология или утилитка конечно

Marcus
22.10.2018
12:37:40
тогда забейте и лейте все в базе, меньше мороки

Dmitry
22.10.2018
12:38:12
сейчас вся проблема от того, что ты не определился что хочешь сделать

Grigoriy
22.10.2018
12:39:31
вот я хотел услышать кто делит а кто не делит и почему.
наверное надо разбить таки на сущности и сделать одинаковые поля во всех трех. типа можно менять любую из них и есть приоритет чтения свойств из них

Dmitry
22.10.2018
12:40:29

Grigoriy
22.10.2018
12:40:45
добро! спасибо

Dmitry
22.10.2018
12:42:27
грубо говоря вернется все к простому:
category/id/slug
article/id/slug
и там и там ищешь по id, но уже конкретную сущность в одной таблице

Grigoriy
22.10.2018
12:44:03
да я пожалуй сделаю таблицу для статей в которой построенное дерево будет с полными относительными урлами а не с кусками и то же для категорий
связывать их буду по айди между собой но приоритет будет иметь свойство (тот же тайтл или картинка) указанный в самой сущности. если его нет, попытаться найти связанные и спереть оттуда. и в конце проверка - если важных сущностей нет - 404

Mikhail
22.10.2018
13:21:21
я бы вообще URL хранил в отдельной таблице и привязывал к сущности. Причем предусмотрел бы редиректы для каких-то URL

Александр
22.10.2018
13:33:53
Подскажите плиз, что это за нотация такая, когда много скобок с аргументами у функции?
выглядит это так:
calc(5)(3)(2)($sum);
calc(2)(3)('pow');
calc - это будет функция
куда читать и что гуглить?

Артур Евгеньевич
22.10.2018
13:34:44

Александр
22.10.2018
13:36:07
мерси, буду искать

Bohdan
22.10.2018
13:36:59

Herman
22.10.2018
13:37:02
это каррирование

Артур Евгеньевич
22.10.2018
13:37:51
ну в пыхе мы его все равно через closure реализуем, не?

Bohdan
22.10.2018
13:38:08
ну так речь не про реализацию

Herman
22.10.2018
13:38:37

Артур Евгеньевич
22.10.2018
13:38:52
invoke?

Google

Herman
22.10.2018
13:39:26
ага

Александр
22.10.2018
13:41:35
тут тестовое, вероятно надо реализовать функцию, чтоб работало с выданными примерами, может и через костыли
calc(5)(3)(2)($sum); // 10
calc(1)(2)($sum); // 3
calc(2)(3)('pow'); // 8
может уже устарело или неправильно даже, просто за несколько лет не встречал такого написания

Bohdan
22.10.2018
13:43:16
читай про каррирование

Артур Евгеньевич
22.10.2018
13:43:24
да потому что это ФП хрень которая в пыхе не оч активно юзается)

Bohdan
22.10.2018
13:43:49
но как небольшая демка для проверки того, как человек мыслит - неплохо

Артур Евгеньевич
22.10.2018
13:44:19
я вот не понял почему $sum как переменная a pow хардкод

Bohdan
22.10.2018
13:44:24
даже схороню себе, несложно и прикольно
правда, первый вариант сходу даже не представляю , как делать
если там просто 'sum' - изи

Артур Евгеньевич
22.10.2018
13:45:04
я так понял надо одну функцию написать всего лиш
а уже в ней лапша с выбором что именно делать в зависимости от параметра

Bohdan
22.10.2018
13:45:45
ну вот вопрос к тому самому $sum

Артур Евгеньевич
22.10.2018
13:46:02
я думаю опечатка
тогда бы называлось не $sum а $operationName какнить

Александр
22.10.2018
13:47:00
есть чье-то решение, но мне интересно разобраться в сути и может нормально сделать https://pastebin.com/ewTJPV28

Herman
22.10.2018
13:48:18