
knopkod4v
14.10.2018
09:02:12
Вы, русские, слишком много кушать
ничо страшного, может меня скоро уволят, а то я тут целый день (на самом деле 2, но рабочих 1) генерацию ссылок в зависимости от языка на сайте пилил :D Вот тогда будем снова мало кушать

Art
14.10.2018
18:42:07
Имеет ли место быть логике представления в представлениях? Т.е к примеру, ветвления, циклы. Например если метод возвращает true то показываем одну кнопку иначе другую, циклом вывести элементы или собрать один элемент из кусков html? Или что сейчас используется?

Panda
14.10.2018
18:42:51

Art
14.10.2018
18:43:00
не, шаблонизаторы не надо

Google

Art
14.10.2018
18:43:40
парсер из парсера какой-то

Odaxelangia
14.10.2018
18:46:20
кстати, про парсеры
есть у кого годный материал для чтения по потоковым парсерам xml ?

Art
14.10.2018
18:46:45
Еще как-то делал класс который методы использует для создания html, а чтобы менять шаблон нужно отнаследоваться и реализовать эти методы методы и в новый класс по сути как шаблон. Но это один из вариантов, а не про представления
там про PCRE читай
он и в js и в php и в блокноте
еще такая есть, но если первую норм прочитаешь не понадобится https://ozon-st.cdn.ngenix.net/multimedia/1011841855.jpg

Odaxelangia
14.10.2018
18:52:33
Да всё, не регулярки это, я либу нашел
https://github.com/serkin/ymlparser
yml-ки для яндексмаркета раздербанить надо

Art
14.10.2018
18:54:25
ну если под что-то конкретное тогда лучше либа

Odaxelangia
14.10.2018
18:55:41
Да чот с первого раза не нашел, просто гугл мне про yaml заливал

Google

q3ta
14.10.2018
21:08:32
Чёт не соображу как выстроить запрос, надо сначала для каждой записи в таблице посчитать количество записей в этой же таблице где х в этой таблице равно id записи, потом отсортировать по убывающей по этой сумме
Впервые делаю такое и хз как подойти

Sergey
14.10.2018
21:12:07
1. научиться получать умножение таблицы и таблицы (джойны)
2. научиться делать агрегацию через group by
3. научиться сортировать.
Вперед и с песней

f4rt~
14.10.2018
21:29:04
https://habr.com/company/zfort/blog/426391/

Sergey
14.10.2018
21:38:04
еее, наконец-то я смогу делать как модные чуваки в js:
array_reduce($arr, function ($res, $item) {
return [...$res, $item->key => $item];
}, []);

Maksim
14.10.2018
21:38:38

Sergey
14.10.2018
21:39:04
еще лет 5 и можно будет наверное так
$arr
|> reduce($_, ($res, $item) => [...$res, $item->key => $item])

q3ta
14.10.2018
21:48:57

Sergey
14.10.2018
21:49:34

f4rt~
14.10.2018
21:49:57

Sergey
14.10.2018
21:50:21
ну там это не аргумент анпакинг... там это spread оператор, чэстный

f4rt~
14.10.2018
21:50:56
ну хз я поверил наслово rfc
»PHP has already supported argument unpacking (AKA spread operator) since 5.6. This RFC proposes to bring this feature to array.

Sergey
14.10.2018
21:51:21
const bar = [1, 2, 3];
const foo = {a: 42, b: 56, c: [...bar, 4, 5]};
const {a, b, ...rest} = foo
rest.c // [1, 2, 3, 4, 5]

f4rt~
14.10.2018
21:51:30
https://blog.frankdejonge.nl/array-destructuring-in-php/

Sergey
14.10.2018
21:52:23
а ну и да - лень смотреть, так можно будет?
function foo([$a, $b]) {
return $a + $b;
}
foo([$a, $b]);

f4rt~
14.10.2018
21:52:35

Sergey
14.10.2018
21:52:39
а то я привык так в TS делать и мне дико удобно

Google

f4rt~
14.10.2018
21:53:29
там есть вот такая отсылка
// Note: It doesn't really make sense to unpack a constant array like [1, 2, 3].
// Normally these would unpack some variable like ...$args
ой

Sergey
14.10.2018
21:54:03
есть смысл - нет смысла, мне решать.
короч в TS/JS всеравно удобнее (в основном потому что там объект/мэпа и массив это разные штуки)

Aleh
14.10.2018
21:55:41
объект, мэпа и массив это три разные штуки)

f4rt~
14.10.2018
21:55:42
Интересно

Maksim
14.10.2018
22:03:33
аннотации ниже енамов. ненавижу этот мир

Sergey
14.10.2018
22:06:32
скалярные объекты, как же эти долбаебы заебали
объясняешь им что будут проблемы, объясняешь что "все за что вы боритесь проебется как только вы захотите расширить новыми методами"
но нет... "хочу что бы все объект и похуй мне"

Maksim
14.10.2018
22:07:31
ага, в ооп чатике вылез сёдня, но чёт лень уже было

Sergey
14.10.2018
22:07:36
а еще мультитрединг им подавай.... как будто бы pthreads нету....

Maksim
14.10.2018
22:07:49
у он-то есть, толку нету)
да и не будет(

Sergey
14.10.2018
22:08:15
так в php с мультитрединга в принципе нет толку. Даже в pthread запрещено общий стэйт на запись делать....
просто потому что этим макакам если такое разрешить то все, пизда рулю

Maksim
14.10.2018
22:09:17
странный список... кто голосовал-то?)

Sergey
14.10.2018
22:09:29
хорошо хоть дженерики выше всего. Но больше бесит static typing. Не статическая типизация нужна - а возможность либо отключить проверку типов в рантайме, либо изберальная проверка типов в рантайме + проверка компилятором встроенным в php

Google

Sergey
14.10.2018
22:09:46

Maksim
14.10.2018
22:10:06
не, я не готов отключать проверку типов)
хоть убей

Sergey
14.10.2018
22:10:42
ну типа... хочу что бы возможности по описанию типов в php не блочились проблемами с тем что "ну блин а как это в рантайме проверить то"

Maksim
14.10.2018
22:10:48
вот запилишь анализатор без фич, тогда обсудим) а пока звучит дико

Sergey
14.10.2018
22:11:22
тут проблема в том что сейчас у тебя выбора нет.
p.s. причем ассерты сгенеренные могут быть сильно лучше, быстрее, не будут вызывать оверхэда по памяти (не надо расширять zval)...

Maksim
14.10.2018
22:12:50
в тот момент, когда я начну беспокоиться о быстродействии проверки типов, я пойду на го писать)
62% сайтов в интернете используют PHP <=5.6

f4rt~
14.10.2018
22:14:39
я помню когда смотрел доклад ivi ru на хайлоаде и там челы суппортят много версий под много девайсов, он с такой же болью описыввал что до сих пор есть ведроиды 2.3
и что люди не хотят обновлятся, кмк тут поможет только принудительное,скорее даже агрессивная политика, поддержку флеша дропнули уже, + гугл старается так, что бы люди регулярно обновляли девайсы с каждым годом число старых телефонов все меньше, мб такое будет и с php

dypa
15.10.2018
07:55:20

Sergey
15.10.2018
07:58:55
> чем это лучше кода
тем что я хочу сделать деструктуризацию прямо в аргументах

Maksim
15.10.2018
07:59:36
пускай с питона скопипиздят всю работу с типами (ну разве что типы ака объекты можно скипнуть), меня устроило бы) всякие js штуки - хер с ним)

Sergey
15.10.2018
07:59:51
для этого в php нужны декораторы/аннотации
я согласен на такое:
function foo(@Type(array{int, int}) $arr)
это бы решило почти все мои проблемы

Google

Maksim
15.10.2018
08:01:02
ты ведь понимаешь, что не доживёшь до аннотаций в языке?)

Sergey
15.10.2018
08:02:17
@Template(T, R)
@ReturnType(Generator<R>)
function map(@Type(T[]) $arr, @Type(Closure(T) => R) $fn) {
foreach ($arr as $i) {
yield $fn($i);
}
}

Maksim
15.10.2018
08:02:34
всё, что ты показал, можно сделать и сейчас (средствами того же го аоп). Но цена.... цена будет великовата, а профит для 99% - нулевой. К тому же с некислым таким оверхедом)

dypa
15.10.2018
08:03:55

Maksim
15.10.2018
08:04:32

dypa
15.10.2018
08:04:33

Sergey
15.10.2018
08:04:51
выглядит пиздец дико
но блин шо делать

dypa
15.10.2018
08:05:21

Maksim
15.10.2018
08:05:38
ну го аоп мне нравится, штука оч забавная и позволяет творить любую дичь. Но всё это увеличивает порог вхождения на столько, что вся асинк\авейт срань покажется джуниорской хернёй.
короче, ты не на том языке пишешь) если это и случится в пхп, то явно не раньше того, как у наших внуков пеццель обрастёт)

Sergey
15.10.2018
08:06:44

Aleh
15.10.2018
08:06:51

Sergey
15.10.2018
08:07:16
Да норм же ?
если замутить плагин для php-cs-fixer который это будет в порядок приводить - в целом думаю можно жить
расширить чутка php-parser что бы вот эти комментики привязывались к контексту для упрощения последующей обработки (+ можно было бы кэшить)
просто... как бы зачем если можно просто не писать на php а писать на языке который уже все это может

Aleh
15.10.2018
08:09:09

Anton
15.10.2018
08:12:19

Sergey
15.10.2018
08:13:10