VitaliyBorys, а чем конкретно будет лучше? Или вагрант для разработки не подходит? Если вам поставить линук надо для развлекухи, то всегда пожалуйста, берёте первый попавшийся, ну, например попсовый Ubuntu и развлекаетесь. А если для работы, то чем Vagrant не устроил?
1) Тостер - это то место, где задают вопросы как сложить 2+2 не открывая документации или не гугля, так что подобная ирония на эту тему - довольно забавна сама по себе)) Но это оффтоп.
2) Промизы тут совершенно неуместны, т.к. это совершенно другая вещь. Я лишь спрашивал о терминологии двух "коллбеков", где один применяется для возврата значения из сопрограммы, а второй при возврате управления обратно. Добавил пример использования в вопрос.
Получается, что мне нужно создать отдельную фабрику, где создать все эти классы, а в сервисе я лишь буду биндить CampaignService::class на созданную фабрику или же мой код тоже имеет право на жизнь?
Опять же всё зависит от архитектуры и задач. Если не требуется ничего другого, то написанный вами код - самый простой вариант создания фабрик.
С другой стороны я не вижу вообще необходимости в фабрике в данном примере, по-этому и предложил вариант с методом "singleton"
Я думаю, что автора в данном вопросе интересует экосистема. Ну, например, про express вроде как в офф доке не написано, но при этом это может являться частью стека и хорошо бы о его существовании знать. И прочее.
Ну начать с простого, понять что выводит обычный file_get_contents от php://input, далее понять что может произойти в json_decode и т.д. Т.е. надо проследить весь путь потока данных и понять где он теряется, вот и всё.
Sanes, а что если я скажу, что у MySQL есть драйвер таблиц, который хранит всё в памяти? Он так и называется, MEMORY =)
Кеширование на редисе/тарантуле нужно лишь для выборки нормализованных данных. Т.е. где с десяток всяких джоинов нужно со сложными запросами. А если же данных просто очень много, то обычно переходят на Elastic/Clickhouse/Hadoop в зависимости от задач. Из практики: Для примера, обычная выборка из MySQL по PK с одним GROUP BY на ~5-6 миллионов записей в кластере из 2х машин занимала ~17 секунд. Данные о посещаемости нескольких сайтов за один-два года. После переноса оных в ClickHouse скорость возросла до ~0.5 (одна машина), а повторный запрос уже ~0.1 (походу прогрев кеша). Так что стату можно было уже строить "на горячую", без промежуточной денормализации.
ttys, да что там мелочиться, давайте уж до конца: Все языки - говно. Go - убогий. Rust - муторный. Java - монструозная. C++ - уродливый. Python - это вообще удел хеллоуворлдщиков, а Ruby - хипстеров. JS'ники вообще не программисты, а Haskell'листы - задроты. Что-там ещё забыл? Остальной десяток популярных языков сами додумывайте. Перфокарты - наше всё.
1) PHP не однопоточен (о чём говорят сборки с суффиксом TS под многопоточные сервера) и наличие классов мьютеков, семафоров и Thread. Но открыть документацию и почитать об этом сложно, я понимаю: php.net/manual/ru/class.thread.php
2) Hack не компилируемый в бинари, а исполняется так же как и любой другой интерпретируемый язык через VM поверх HHVM. О чём суффикс в HHVM какбэ намекает. Но опять же, открыть хотя бы вики - это целый подвиг, верно? https://ru.wikipedia.org/wiki/Hack_(%D1%8F%D0%B7%D...
3) Ну и HHVM быстрее 7ки только на синтетике, на продакшн проектах 7ка зачастую выигрывает. Но и это невероятно сложно нагуглить, тоже согласен: https://kinsta.com/blog/php-7-hhvm-benchmarks/
И если бы вы могли включить голову, то сами бы об этом догадались. Но брызжать ядом, конечно, намного приятнее, не правда ли?
dd($category->subcategory->map->post());