@prophp7

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

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

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/

https://habr.com/company/zfort/blog/426391/
@desper1989 вижу твою либу :) грац

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

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

q3ta
14.10.2018
21:48:57
f4rt~
14.10.2018
21:49:57
еее, наконец-то я смогу делать как модные чуваки в js: array_reduce($arr, function ($res, $item) { return [...$res, $item->key => $item]; }, []);
как раз смотрю, прыгнул посмотреть как у них там arument unpacking работает в целом

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
странный список... кто голосовал-то?)
за пол года видел 3 опроса таких на рэддите

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
а ну и да - лень смотреть, так можно будет? function foo([$a, $b]) { return $a + $b; } foo([$a, $b]);
типизировать $a, $b невозможно, рефакторить - можно, но сложно (к примеру нужно не перепутать количество элементов, их порядок). чем это лучше кода foo(AnyClass $var) { return $var->getA() + $var->getB();}?

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
в 7.3 не работает ;)
эт надежда на анализаторы

dypa
15.10.2018
08:04:33
> чем это лучше кода тем что я хочу сделать деструктуризацию прямо в аргументах
а я не хочу, чтобы можно было это делать. и вообще не хочу, чтобы кто то передавал массив в качестве аргумента

Sergey
15.10.2018
08:04:51
всё, что ты показал, можно сделать и сейчас (средствами того же го аоп). Но цена.... цена будет великовата, а профит для 99% - нулевой. К тому же с некислым таким оверхедом)
мы с коллегами уже несколько раз думали замутить такое через комменты... function map/* <T, R> */( $arr /*: T[] */, $rn /*: Closure($el: T) => R */ ) /*: \Generator<R> */ { foreach ($arr as $i) { yield $fn($i); } }

выглядит пиздец дико

но блин шо делать

dypa
15.10.2018
08:05:21
эт надежда на анализаторы
понятное дело, но там скорее всего выстрелит что нить типа $$var

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

короче, ты не на том языке пишешь) если это и случится в пхп, то явно не раньше того, как у наших внуков пеццель обрастёт)

Sergey
15.10.2018
08:06:44
а я не хочу, чтобы можно было это делать. и вообще не хочу, чтобы кто то передавал массив в качестве аргумента
это потому что в php все плохо с типами, нет array shapes, нет туплов и всего того что уже давным давно есть в Hack

Aleh
15.10.2018
08:06:51
Sergey
15.10.2018
08:07:16
Да норм же ?
если замутить плагин для php-cs-fixer который это будет в порядок приводить - в целом думаю можно жить

расширить чутка php-parser что бы вот эти комментики привязывались к контексту для упрощения последующей обработки (+ можно было бы кэшить)

просто... как бы зачем если можно просто не писать на php а писать на языке который уже все это может

Anton
15.10.2018
08:12:19
если замутить плагин для php-cs-fixer который это будет в порядок приводить - в целом думаю можно жить
я бы подумал в сторону плагина/модуля для пхп. ну мол чтобы писать как хочешь, а потом транлировать в нативный пхп. хотя в таком случае за собой придется тянуть и кастомизацию IDE.

Sergey
15.10.2018
08:13:10
я бы подумал в сторону плагина/модуля для пхп. ну мол чтобы писать как хочешь, а потом транлировать в нативный пхп. хотя в таком случае за собой придется тянуть и кастомизацию IDE.
в любом случае тебе надо тянуть кастомизацию IDE. Единственное что может спасти - это если в штормах появится нормальная поддержка language server и кто-нибудь напишет нормальный сервер (микрософт уже запилила вполне годный fail tolerant parser для пыхи, который в теории можно расширить)

Страница 1339 из 1387