
Aleh
15.10.2018
09:12:42
но если ты на второй строке в $a добавишь, копирование можно не делать же

Sergey
15.10.2018
09:12:46
если же без $b и чисто с $a работать - может быть он копирование опускает... хз. надо смотреть. года 3 назад не опускал.

Anton
15.10.2018
09:13:03
Ну да -- это как бы базовые вещи.
Хочешь работать с массивами миллионниками, то делай что-то вроде &a. (вплане апдейта)

Sergey
15.10.2018
09:13:21

Google

Sergey
15.10.2018
09:13:47
ссылки на значения лишь увеличивают счетчик и будут только форсить копирование)

Dmitry
15.10.2018
09:15:13
не совсем так, если есть вложенные структуры, то они копироваться не будут

Борис
15.10.2018
09:25:04
не важно передаем мы в функцию или нет - любое изменение массива - происходит полная копия
Не, я имел ввиду изменение массива, а не создание новой переменной и изменение.
$a = range(1, 1000000);
$a[] = 1000001;
Но согласен, в том конкретно примере - есть передача по значению, поэтому мой вариант тут не прокатит.
Но я говорил про другой момент "скорости":
[...$array] - я так понимаю, такую штуку сложно оптимизировать, чтобы производить копирование быстрее, ведь может быть [ 'bla', ...$array, 'bla'] а массивы в пыхе не линейные. Тоесть, чисто с моей колокольни, [...$array] выглядит под капотом на С приблизительно как
while($value = next($array)) {
$result[] = $value;
}
В то время, как копирование всего массива без изменений будет гораздо быстрее... Ну да ладно, посмотрим, как оно будет, если это запилят


Sergey
15.10.2018
09:25:23
Не, я имел ввиду изменение массива, а не создание новой переменной и изменение.
$a = range(1, 1000000);
$a[] = 1000001;
Но согласен, в том конкретно примере - есть передача по значению, поэтому мой вариант тут не прокатит.
Но я говорил про другой момент "скорости":
[...$array] - я так понимаю, такую штуку сложно оптимизировать, чтобы производить копирование быстрее, ведь может быть [ 'bla', ...$array, 'bla'] а массивы в пыхе не линейные. Тоесть, чисто с моей колокольни, [...$array] выглядит под капотом на С приблизительно как
while($value = next($array)) {
$result[] = $value;
}
В то время, как копирование всего массива без изменений будет гораздо быстрее... Ну да ладно, посмотрим, как оно будет, если это запилят
я именно про изменение массива.
единственное что, как сказал Олег - если нету ссылок то возможно пых чето там еще машнит
но паучье чутье подсказывает мне что не особо.
http://hengrui-li.blogspot.com/2011/08/php-copy-on-write-how-php-manages.html


Борис
15.10.2018
09:26:56
Ты про
$a = range(1, 1000000);
$a[] = 1000001;
? Да не, тут гон. Всегда это была хешмапа + линкедлист. Со всеми этими свистоплясками нету смысла просто так копировать (даже copy-on-write)
Вот пруф https://3v4l.org/OoINo

Sergey
15.10.2018
09:27:09
https://nikic.github.io/2014/12/22/PHPs-new-hashtable-implementation.html
когда нет других ссылок можно просто добавить
но как бы... и [...$arr, 1 ,2] спокойно можно оптимизировать до "соединить два списка")

Борис
15.10.2018
09:29:35

Google

Denis
15.10.2018
09:38:31

Борис
15.10.2018
09:43:54

Alexandr
15.10.2018
10:22:17

Sergey
15.10.2018
10:23:04

Артур Евгеньевич
15.10.2018
10:31:08
шо???
ты про упакованные?
или про Immutable ?

Ducho
15.10.2018
12:14:46
У меня есть название сайта в переменной а. Как открыть его
Т.е в href что написать?

Evgeniy
15.10.2018
12:18:59
напиши свой рост

Oleg
15.10.2018
12:24:17

Maksim
15.10.2018
12:25:24
toxic комьюнити)

Oleg
15.10.2018
12:37:06
detoxic)

Sergey
15.10.2018
12:38:09
конвержен, софтвар вершен сэвен дот нол...

F01134H
15.10.2018
12:54:44

Maksim
15.10.2018
12:55:37
ссылку
https://www.youtube.com/watch?v=6KuXC1LF3ak

F01134H
15.10.2018
12:57:09
Что такое массив в пхп?)
https://nikic.github.io/2014/12/22/PHPs-new-hashtable-implementation.html сегодня только скидывали

Denis
15.10.2018
13:00:01

F01134H
15.10.2018
13:04:34
Нельзя наверняка утверждать, сарказм это или нет, от меня не убыло :) Лучше быть буквальным, чем выебистым.
тут вот некоторые спрашивают как ссылку в href запихнуть - поди разбери, сарказм это или прикол. Или человек не умеет гуглить вовсе

Google

F01134H
15.10.2018
14:03:51
Парни, я тут делаю вещи с симфой (возможно даже пошлые). Вопросец такой, такая шняга:
$entityManager = $this->getContainer()->get('doctrine')->getEntityManager();
не поддерживает автокомплит в шторме. Какие есть варианты решения?
В плане, потом оно не знает что за метод createQuery() я хочу вызвать

Борис
15.10.2018
14:04:26
symfony2 plugin ставил? Должен работать, если не работает тычь настроечки

F01134H
15.10.2018
14:04:34
Спасибо

Борис
15.10.2018
14:05:19
У меня сволочь, он лагает. Правда у меня не целиком симфони, а только DI. Пока-что не полечили :( Но пока сидел на симфе - ок

Anton
15.10.2018
14:05:38

Артур Евгеньевич
15.10.2018
14:05:43
или так
```
/
* @var Doctrine $doctrine
/
$doctirne = $this->getContainer()->get('doctrine')->getEntityManager();

F01134H
15.10.2018
14:06:05
что бы был)

Anton
15.10.2018
14:06:13
таким образом

F01134H
15.10.2018
14:06:19

Maksim
15.10.2018
14:06:24
так а он не приватный часом?)

Anton
15.10.2018
14:06:34
Ну вообще должен быть

F01134H
15.10.2018
14:06:37
DI?

Anton
15.10.2018
14:06:43
Да
DI

F01134H
15.10.2018
14:07:07
Бля. И тут я вспомнил, что так и хотел сделать
?♂️
А если я заинжекчу сервис доктрины, он конфиги то подтянет из doctrine.yaml?

Anton
15.10.2018
14:08:17
че-то я тебя не понимаю.
Короче там где нужно пишешь в конструкторе EntityManagerInterface и все.
дальше autowire должен все сделать за тебя. а если нет, то тогда явно передавай либо через bind, либо через arguments

Google

Maksim
15.10.2018
14:08:24
тебе не сервис доктрины надо инжектить, а em, коль уж на то пошло)
но и то не факт, что именно em нужен)

Anton
15.10.2018
14:08:43
ну какой вопрос, такой и ответ
больше добавить нечего

Tex
15.10.2018
14:08:49

Maksim
15.10.2018
14:09:05

F01134H
15.10.2018
14:09:22

Maksim
15.10.2018
14:10:52

Sergey
15.10.2018
14:10:57

F01134H
15.10.2018
14:11:02
Спасибо
я ничё не понял)
'doctrine' - название в сервис контейнере, как узнать сам класс, я об этом

Anton
15.10.2018
14:11:20
Лучше почитать доки симфони перед этим.

Arky
15.10.2018
14:11:34

F01134H
15.10.2018
14:11:39
Я не уверен, но вроде там об этом не написано. Либо я еще не углублялся в это

Anton
15.10.2018
14:11:53
ну нужно читать просто от корки до корки

F01134H
15.10.2018
14:12:12
Но я вас понял

Maksim
15.10.2018
14:13:07
вообще на удивление толерантная реакция была на $doctirne = $this->getContainer()->get('doctrine')->getEntityManager();
обычно после такого следует целое цунами часа на 2) устали уже, видимо)

F01134H
15.10.2018
14:13:38

Google

F01134H
15.10.2018
14:13:45
Но это ж взято из доки симфы)
я не при чем

Maksim
15.10.2018
14:14:09
дока симфони - это лишь пособие о том, как начать) а не эталон "как надо")
разные задачи, разное решение)

F01134H
15.10.2018
14:14:19
Понятное дело

Arky
15.10.2018
14:14:21

Maksim
15.10.2018
14:14:34
во, слушай арки)) он херни не скажет)

Dmitriy
15.10.2018
14:14:34

F01134H
15.10.2018
14:14:57

Dmitriy
15.10.2018
14:15:20

dypa
15.10.2018
14:15:22

Maksim
15.10.2018
14:16:33

F01134H
15.10.2018
14:16:35

Dmitriy
15.10.2018
14:16:52

Arky
15.10.2018
14:16:53

Maksim
15.10.2018
14:17:09

Oleg
15.10.2018
14:29:09
оно в доке любого фреймворка - "как начать" (аля показать как тут все просто и заебато), а не "как надо"

F01134H
15.10.2018
14:31:27
просто и заебато - не особо совместимые вещи зачастую(
как там было: скорость, качество, цена - выберите 2 из 3

Oleg
15.10.2018
14:33:15
ага и getting started = make куча говна обычно )
как ни крути - путь лежит через говно)

Sergey
15.10.2018
14:34:26