Vadim
Понятен синтаксис) А хочется решение практически/типичных примеров, которые и показаны в книгах.
Обычно советуют блог нафеячить, очень практично, столкнешься со всем, чем только можно
The Ant
А потом такой хуяк и "сделай это без циклов" :) но это лучше не с пхп
не не, потом усложним. сгенерировать массив для таблицы 10 на 10 клеток и заполнить его рандомными значениями от 1 до 100
The Ant
это ж просто
SarcasmIO
но абсолютно не практично
Vadim
Слишком маленький шаг :) но да
SarcasmIO
а блог практичнее
The Ant
но такие типичные задачи каждый день решаются, например когда ты из контроллера во вью передаешь данные
VR
Я пишу на С, и чет смешно читать иногда такое)))
SarcasmIO
а кто тебе сказал, что то, как ты решаешь их правильно?
VR
Там вообще не так много интрументов, и ты велосипеды каджый день пишешь.
VR
Тут вообще я уверен есть функция на 2 параметра, перый что писать второй сколько раз)))
SarcasmIO
говорят чем более выразительный язык, тем менее у него есть паттернов
VR
Как я вопрос от техлида услышал, типа как быстрее всег оузнать в массиве из 1 и -1 чего больше 1 или -1. Я говорю, всё равно алгоритм будет линейный.
VR
пройтись по массиву
VR
А он , та не, прост овызови аррейСам
merk
Народ, как грамотно реализовать хранение различных фукнций (например функция парсинга телефонного номера) в приложение (psr-4, php7, mvc), чтобы было логично, и можно было дергать из различных контроллеров?
merk
то что ты написал, очень мало вяжется, с тем, что тебе нужно
Ну может не совсем правильно описал ситуацию. Есть несколько функций, которые не привязаны к конкретным классам (например генерация рандомного RGB цвета), которые нужно дергать из разных мест, соответственно нет смысли описывать эти функции в каждом классе, что можете посоветовать? 😊
SarcasmIO
Народ, как грамотно реализовать хранение различных фукнций (например функция парсинга телефонного номера) в приложение (psr-4, php7, mvc), чтобы было логично, и можно было дергать из различных контроллеров?
читать DI и про агрегацию, еще ты можешь просто импортнуть её как use function в нейсмпейсе, вынести класс в трейты, попробовать еще раз в декомпозицию проекта
SarcasmIO
DI?
я думал тебе нужно что то вроде public function (PhoneParse $phone) { $phone->{...} }
SarcasmIO
код вынести в трейты, наиболее оптимальное решение в таком случае
The Ant
вот, придумал. сделать класс со статическими функциями, типа BarahloClass::parsePhone($phoneNumber)
The Ant
когда-нибудь потом разгребешь это барахло и отрефакторишь как надо
merk
код вынести в трейты, наиболее оптимальное решение в таком случае
Да, про это не подумал... Спасибо, так что ты имел в виду под DI? Паттерн или какую-то другую штуку?
The Ant
садись два
ну ты же видишь, сложна человеку, не понятно. Зачем грузишь )
merk
там на аватарке выпускник 11 класса, а ты ему про DI
Лол) По аватарке люде не судят :D? сам хрень написал))
SarcasmIO
хотя тебе мб хватит и этого use function GuzzleHttp\Psr7\stream_for
merk
хотя тебе мб хватит и этого use function GuzzleHttp\Psr7\stream_for
Да, скорее всего... ибо из за 5-7 функций не вижу смысла городить огород...
Alex
Ну вот так получилось: <?php $number = 0; echo "<table>"; for ($i = 0; $i < 10; $i++) { echo "<tr>"; for ($k = 0; $k < 10; $k++) { echo "<td>" . $number . "</td>"; $number++; } echo "</tr>"; } echo "</table>" ?>
Alex
ну заказал человек, я сделал как смог
merk
https://github.com/smpl/mydi моя либа)
Наверное мощьная штука, но цеплять пару сотен строчек кода ради красивой работы своей пары десятков строк как-то слишком 😁😁 Попробую сделать как Math в JavaScript)
The Ant
Ну вот так получилось: <?php $number = 0; echo "<table>"; for ($i = 0; $i < 10; $i++) { echo "<tr>"; for ($k = 0; $k < 10; $k++) { echo "<td>" . $number . "</td>"; $number++; } echo "</tr>"; } echo "</table>" ?>
отлично, не идеал но пойдет. С массивами тож говоришь знаком? Сгенерировать двумерный массив 10х10 (для таблицы), заполнить рандомными значениями и вывести это дело в таблицу. Операции создания массива и вывод таблицы должны быть раздельными.
The Ant
вот это 100500 понадобится в проде, причем каждый день.
Alex
С масивами я мало знаком, тут для меня уже сложнее задача.
The Ant
https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
The Ant
в помощь http://php.net/manual/ru/language.types.array.php
VR
Вот бинарные деревья и хеши уже сложнее.
VR
А масив, 10*10 Это 10 указателей на 10 масивов с 10 указателями с ячейками с информацией
Alex
У я не говорю, что это сложная задача, она сложная для меня
The Ant
открой тетрадь в клеточку, в ней массив из этих самых клеточек
The Ant
вот придумай как его заполнить программно
The Ant
вот сам же понимаешь "хочу реальных задач", а элементарные вещи сложные для тебя ))
The Ant
вот понадобится тебе каталогизировать данные, как ты это будешь делать?
The Ant
типа носки, рубашки там, туфли галстуки и все такое
Alex
Ну если бы я годами имел дело с программированием, мне бы было тоже элементарно)
The Ant
у каждого свой набор характеристик
Alex
Я не отрицаю, что я ничего не умею, я хочу научиться)
The Ant
ну вот учись
VR
А зачм тебе программирование в конечном итоге?
The Ant
вон фарт говорит это легкотня вообще )) однако объяснить человеку что такое массив и зачем он нужен задачка та еще
The Ant
человеку, который вообще не знаком с программированием
VR
Туторы по MVC все какие то калечные, я хз. Вот это уже сложнее как всё спроектировать.
merk
вон фарт говорит это легкотня вообще )) однако объяснить человеку что такое массив и зачем он нужен задачка та еще
да фарт тут чего-то вообще гонит... Меня школьником называет, человека, который только начал изучать обвинят в некомпетентности в области продакшена...
SarcasmIO
не называл я никого школьником
SarcasmIO
лимонад
🐴
школьнки набежали
The Ant
тащемта школьником быть не зазорно
🐴
да ваще ништяк
VR
Школьники некоторые ЗБС кодят , с косяками но с таким энтузиазмом, я хз но уважаю. Малой который мне помогает иногда, выучил ПХП чтоб написать свой магаз и рулетку для онлайн игр.
🐴
я бы не отказался опять школьником стать
SarcasmIO
куришь за гаражами и не думаешь о погромировании
merk
ну на аватарке ты школьник, строго говоря )
Может подкинем ему задачку, как распределить процессорное время 4 процессоров между 21 воркером, когда ежесекундно сыпяться тысячи запросов... )
merk
ну и?
Ну и? Опиши хотябы чем руководствоваться будешь и что сделаешь, что проанализируешь, кому втыка дашь, на кого сопрешь в случае чего? 😂😂😂
SarcasmIO
берешь beanstalkd он простой как пробка все воркеры берут по задаче очередь будет тебе гарантировать что каждый воркер получит свою задачу и они не будут пересекаться то есть N2 получит a[i+1], N3 получит a[i+2]... как только воркер заканчивает обработку, он может вернуть задачу в очередь для других с пометкой кто ее уже обрабатывал можешь добавить делей для задачи что бы следующий воркер получил возможность ее забрать строго через N секунд
SarcasmIO
годится?