
Adel
08.11.2017
15:37:31
удалил весь тред про память. Максим может считать это сливом. мне пофиг :)

Sparrow
08.11.2017
15:38:11
?(

Alexey
08.11.2017
15:38:13
а FooRealisation - это что?

Maksim
08.11.2017
15:38:25

Google

Dmitry
08.11.2017
15:38:26
реализация интерфейса Foo

Maksim
08.11.2017
15:38:54
как-то так, 2 примера

Alexey
08.11.2017
15:39:29
а где шторм ругается в примере?

Dmitry
08.11.2017
15:39:50
interface NormalRandomGenerator extends \IteratorAggregate
{
/**
* Генератор случайных нормальных
* @return float[]|\Generator
*/
public function getIterator(): \Generator;
}

Maksim
08.11.2017
15:40:28
если в ф-и есть yield, она ничего кроме генератора не вернёт. уберите флоат

Dmitry
08.11.2017
15:41:14

Maksim
08.11.2017
15:42:02
ох уж эти подделки под дженерики) тут идиологически неверно флоат писать в возвращаемые значения) лучше тайпхинт сделать в рамках цикла под айтем
вот я пример скинул - всё ок работает и красиво подсвечивается

Dmitry
08.11.2017
15:43:03
не, так не интересно, я уж лучше @method float current() опишу

Maksim
08.11.2017
15:43:14
https://paste.ofcode.org/NShbxGyxLyDUQycFXiVWTS
добавил пример с вызовом current

Dmitry
08.11.2017
15:43:35
->getIterator() тоже не интересно

Maksim
08.11.2017
15:44:14
а вы пока его не вызовите, генератор не появится. Ну так, если что

Vladislav
08.11.2017
15:44:46

Google

Dmitry
08.11.2017
15:45:18

Alexey
08.11.2017
15:45:20
а версия шторма, кстати, какая? :)

Dmitry
08.11.2017
15:45:34
eap почти последний

Maksim
08.11.2017
15:45:39

Леонид
08.11.2017
15:49:29

Alexey
08.11.2017
15:50:03
если есть сомнения, что шторм корректно подсвечивает - достаточно баг завести им в трекере
на eap реагируют быстро

Dmitry
08.11.2017
15:50:12
да, все я понял где я затормозил, traversable как бы не сам генератор
в данном случае

Maksim
08.11.2017
15:50:27

Dmitry
08.11.2017
15:52:26
т.е. ->getIterator()->current() правильно будет

Maksim
08.11.2017
15:52:45
ну каррент внутрь я бы прятать не стал. Просто вам смутило почему-то

Dmitry
08.11.2017
15:53:32
да я ступил, почему-то решил, что iterable интерфейса есть iterable генератора, а это не так

Maksim
08.11.2017
15:53:47
просто когда вы форич делаете, гетитератор магией вызывается. Ну что-то вроде очевидного пхпшного поведения)

Dmitry
08.11.2017
15:54:15
ага, именно про это и затупил сначало, что прямой вызов - это тебе не foreach :)

Rich
08.11.2017
22:18:09
А с node js тут помочь могут?

Adel
08.11.2017
22:19:14
нет

Sparrow
09.11.2017
05:26:38
Привет народ что использовать для подключения и работы с mysql ?
pdo, mysqli, doctrine либо что-то ещё? без левых библиотек

Alexey
09.11.2017
05:40:52
при работе с симфони — доктрина, при работе с внутреннем фреймфорком — своя обёртка над pdo, при работе с мелкими проектами — pdo

Sparrow
09.11.2017
05:48:09
а mysqli вообще не нужен?

Google

Alexey
09.11.2017
05:51:30
я с ним только однажды пересекался, когда друг попросил немного поправить сайт

Максим
09.11.2017
05:51:37
а mysqli вообще не нужен?
ну смотря что за проект. Если у тебя тупо принять данные с формочки, положить данные в базу и использоваться будет только mysql, то PDO то зачем.

Alexey
09.11.2017
05:54:39
тут холиварный вопрос :) можно же не ставить все экстеншены для пдо, а обойтись только pdo_mysql
я так всегда и делаю, ну и если быть честным до конца — мне просто синтаксис pdo нравится больше, чем mysqli
собственно вот и все причины его использования

Максим
09.11.2017
05:55:00
тоже верно

Alexey
09.11.2017
06:07:54
к слову, доктрина же не экстеншен, а орм, которая работает поверх pdo
https://packagist.org/packages/doctrine/orm

dypa
09.11.2017
06:08:22

Alexey
09.11.2017
06:09:28
не всегда, если просто "сохранить формочку в базу", то тянуть доктрину будет перебором

dypa
09.11.2017
06:10:21

Alexey
09.11.2017
06:12:32
кому как удобней, я не настаиваю что доктрина не нужна
мне, как человеку начинавшему с mysql_* в php4, часто проще написать запрос руками и просто его выполнить, привычка
ну и на работе из-за своей специфики использую внутренний фреймворк
для питона правда sql-алхимию переодически юзаю, но только когда действительно нужно объекты конструировать, а так pymysql решает все потребности в получении данных для аналитики
дело вкуса, привычки и корпоративных стандартов в общем, остальное холивар

Andrei
09.11.2017
06:18:12
эммм, а вы доктрину для сложных запросов используете?

dypa
09.11.2017
06:18:13

Alexey
09.11.2017
06:20:39
я не настаиваю, я говорю про то, что и как использую лично я (собственно вопрос был про это)
пока у меня не было необходимости использовать доктрину где-то, вне проектов на симфони
как я уже сказал, у меня в компании есть стандарты и внутренний фреймворк
и да, я согласен, что инструмент нужно выбирать исходя из задачи

Andrei
09.11.2017
06:22:50
ну там где не три где не три join, последний раз когда я видел использование доктрины для (в моем понимании сложных запросов), это была некая лапаша
собственно есть удобный понятный синтаксис SQL, есть биндинг параметров, есть фильтры, очищающие, зачем доктрина?

Alexey
09.11.2017
06:24:30
последний раз такие сложные запросы я писал для сильно нормализованной базы, чтобы извлечь данные для sphinx
как я уже писал, у доктрины есть не только query builder

Andrei
09.11.2017
06:27:06
ну возможно, но тот же dql мало чем отличается от sql
да. под эластик еще не писал, только sphinx пережил, пока он не поддерживал sql нотацию было тяжко

Google

Alexey
09.11.2017
07:19:06
на dql можно комфортно писать сложные запросы. Но это не doctrine/orm, а doctrine/dbal

Sparrow
09.11.2017
07:33:42
стоит netbeans 8.2 что-то тема не устаналивается((
кто нибудь сталкивался?

Andrei
09.11.2017
07:35:32
чем предустановленные не устраивают?

Sparrow
09.11.2017
07:37:02
привык в sublime работать)

Admin
ERROR: S client not available

Sparrow
09.11.2017
07:37:06
с Monokai темой

Pavel
09.11.2017
07:52:49
Да вы шо тут же нельзя мат :(

Серёга
09.11.2017
08:22:42

Sparrow
09.11.2017
08:23:05
http://plugins.netbeans.org/plugin/61236/

Серёга
09.11.2017
08:33:12
хм, та же хрень, причем все такие
https://github.com/jewelbdx/FPR_NetBeans_Theme

sergey
09.11.2017
09:53:43
саблайм крутой
но иде круче (

Pavel
09.11.2017
09:57:35
Ладно, скажите как мне, доктринофилы, если уж доктрина такая крутая, то как решается следующая задачка:
Есть мультитенатный сервис, в котором клиент создает себе сайт. Сайт состоит например аз 20ти таблиц, все таблицы лежат в схеме siteN.* Нужно сделать возможность докриновским сущностям работать с таблицами в разных схемах. То есть две таблицы site1.table1 и site2.table1 это одна и та же сущность но у разных клиентов.
Как это сделать без переписывания доктрины, я в свое время не нашел. Хотя вот в yii2 AR делается за 5 минут.

Andrei
09.11.2017
10:03:11
может как-то скормить инстансу доктрины схему siteN и/или пользователя/пароль с видимоть только этой схемы?

Dmitry
09.11.2017
10:05:58
read или write?

Pavel
09.11.2017
10:06:33
Да я тоже думал, ну это впринципе полурешение. Если нужно например послать UNION запрос сразу в 2 одинаковые таблицы разных клиентов, то облом.

Google

Pavel
09.11.2017
10:07:13
Ну, write в несколько схем скорее всего никогда не будет, а вот read очень может быть

Dmitry
09.11.2017
10:08:40
имхо скрывать это под капотом потенциальные грабли

Pavel
09.11.2017
10:08:58
Что ты имеешь в виду?

Dmitry
09.11.2017
10:09:23
я бы для начала пробовал бы просто разные сущности наследники
ну прятать под капотом т.е. уносить чисто в персист слой...

Pavel
09.11.2017
10:12:33

Dmitry
09.11.2017
10:13:18
ну таблицы то не динамически создаются

Pavel
09.11.2017
10:13:26
В общем я пришел к выводу что именно в доктрине эта задача очень нетривиальная, из-за того что таблица задается в виде аннотации и потом все это дело вкомпилируется в контейнер/кеш схемы.

Alex
09.11.2017
10:14:12
Всем привет!ребят помогите доделать задачу!у меня уже ступор,есть матрица 5x5 я нашёл в ней центр,и теперь мне надо заполнять матрицу числами по спирали
Вот мой код
$matrixRevers = array( array(0,0,0,0,0), array(0,0,0,0,0), array(0,0,0,0,0), array(0,0,0,0,0), array(0,0,0,0,0) ); $matrixSize = 5; $temp = 1; $k = floor($matrixSize / 2); $matrixRevers[$k][$k] = $temp; echo ("\n"); for ($dx = -1; $dx <= 1 ; $dx++){ for ($dy = -1; $dy <=1; $dy++){ if($dx || $dy){ $temp++; echo('['.$dx.']'.'['.$dy.'] '.'$matrixSize['.($k+$dx).']'.'['.($k+$dy).']='.$temp."\n"); } } }

Dmitry
09.11.2017
10:17:05
да скорее всего можно влезть в момент обработки метадаты
вот только говнокодом попахивает ;)
в чем смысл то

Pavel
09.11.2017
10:18:28
Общая админка сайтов

Andrei
09.11.2017
10:19:07