«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
PHP Thread #126 Аноним 2021/12/19 08:08:33  №2241613 1
Оказывается, лимоны выведены искуственно. И кому только пришла в голову идея вывести кислый несъедобный фрукт? Пока кто-то выводит фрукты, мы изучаем язык PHP (а также JS/CSS/HTML/SQL) и учимся делать сайты. Зачем? Кто-то хочет открыть стартап, кто-то заработать на лапшу быстрого приготовления, кому-то просто нечего делать.

ОП довольно занят, но постарается ответить на все вопросы. Также, ответы и решения задач можно поискать в архиве тредов phpclub.

Это тред и для начинающих. Слово "классы" у тебя ассоциируется только со школой, а в аттестате тройка по математике? Ты наш человек.

Предыдущий тред был тут: >>1998470 (OP) . Все старые треды есть в архиве: https://phpclub.tech/ (там есть поиск, можно искать решения и обсуждения задач).

С чего начать

Наши уроки по PHP собраны по адресу http://codedokode.github.io/phpbook (вас отредиректит на другой домен, не запоминайте его, он временный). Это учебник для изучающих с нуля. Там есть задачи, их нужно решать. Но если этот учебник тебе не нравится, можно читать любой другой. Или официальный мануал. Или все сразу.

Если не знаешь как решать, запости код и попроси подсказку или поищи задачу в архиве тредов.

Ты прошел весь учебник? Молодец, но это были лишь основы языка PHP. Вот что в идеале надо изучить еще: ООП, как работает веб-сервер, HTML/CSS, SQL, PDO, работа с таблицами в БД, работа с формами, MVC, git, composer, JS, фреймворки, автоматизированное тестирование. У нас есть задачи для изучения этого:

- для начала прочти урок https://github.com/codedokode/pasta/blob/master/soft/web-server.md
- установи Апач + PHP (советы выше и ниже) и читай туториал http://php.net/manual/ru/tutorial.php
- Учи HTML/CSS и SQL, PDO, хотя бы основы
- Далее простая, но полезная задача сделать список студентов, в ней много полезных советов: https://github.com/codedokode/pasta/blob/master/student-list.md
- Более сложная задача сделать файлообменник на микрофреймворке Slim: https://gist.github.com/codedokode/9424217
- Еще более сложная и долгая задача на Laravel/Symfony: https://gist.github.com/codedokode/8733007
- После нее можно изучать автоматизированное тестирование https://gist.github.com/codedokode/a455bde7d0748c0a351a
- Если ты все решил, переходи к Symfony или Laravel
- Почитать про паттерны http://designpatternsphp.readthedocs.org/ru/latest/README.html (если ты не изучил ни одного фреймворка, то это будет рановато), тут с примерами кода http://designpatternsphp.readthedocs.org/ru/latest/README.html . Имей в виду что без примеров использования их учить бесполезно - не поймешь, хочешь увидеть примеры использования паттернов - ковыряй исходники Симфони, например Symfony Forms. Не заучивай паттерны - смотри код и думай, зачем тут они использованы.

Чтобы делать эти задания, тебе надо установить Апач + PHP (можно заодно сразу и MySQL) на компьютер. Вот полезные инструкции:

https://github.com/codedokode/pasta/blob/master/soft/php-install.md
https://github.com/codedokode/pasta/blob/master/soft/apache-install.md

Может тебе понадобится пользоваться командной строкой, вот гайд https://github.com/codedokode/pasta/blob/master/soft/cli.md

Параллельно стоит подучивать английский, на первых порах можно без него, но по мере развития придется все чаще сталкиваться с англоязычными статьями, так что лучше не откладывать. Читать можно news.ycombinator.com - это что-то вроде их хабра.

Также, у нас есть задачи которые позволят тебе изучить или подтянуть до нормального уровня знания JS/HTML/CSS/SQL. Решай их параллельно с задачами выше.

- HTML/CSS: https://github.com/codedokode/pasta/blob/master/html/html.md
- JS: https://gist.github.com/codedokode/ce30e7a036f18f416ae0
- SPA (сложно): https://github.com/codedokode/pasta/blob/master/js/spa.md
- Проверялка решений на JS: http://dkab.github.io/jasmine-tests/
- MySQL: https://github.com/codedokode/pasta/blob/master/db/databases.md

Что почитать

- Мануал по PHP — http://www.php.net/manual/ru/langref.php
- Сайт phptherightway (перевод на русский: http://getjump.me/ru-php-the-right-way/ )
- По PHP: Профессиональное программирование на PHP Джордж Шлосснейгл
- По PHP: Мэтт Зандстра — PHP: Объекты, шаблоны, методики программирования
- JS: learn.javascript.ru
- Про Git: https://git-scm.com/book/ru/v1
- Новости IT на англ. https://news.ycombinator.com/
- какой-то древний, устаревший, но большой и на русском справочник по веб-разработке, посоветованный аноном: https://starcat.dp.ua/doc/wdh/

Оформляй код аккуратно!!! — например пропусти через phpformatter.com . Также, если ты пользуешься IDE вроде PhpStorm, Netbeans, Eclipse, то в них эта опция встроена, подробнее: https://gist.github.com/codedokode/8759492

У ОПа нет аккаунтов и групп вконтакте, в фейсбуке, в твиттере, все "пхп-треды" там поддельные.

Платиновые вопросы

- Почему PHP? Потому что вакансий море, и учить легко.
- Сайт опять упал!!!!! — Не паникуй, а зайди на https://github.com/codedokode/phpbook, нажми зеленую кнопку Clone or Download -> Download ZIP, распакуй на рабочий стол и получи личную копию сайта, не требующую интернетов.
- Что надо знать чтобы найти работу - разработчику: PHP, SQL, HTML/CSS, JS, ООП, Git, композер, MVC, фреймворк. Верстальщику - HTML/CSS, JS, jQuery. У нас в треде были люди, которые практически с нуля учились и смогли найти работу (ищи в архиве по слову "устроился").
- Что будут спрашивать на собеседовании если 0 опыта - гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись
- Можно подробнее про поиск работы, собеседования - нет, ОП писать не будет, но может кто из анонов захочет рассказать. Поищите тред перезвонивших, а также раздел /wrk/
- Сколько времени надо изучать все это? - все зависит от тебя, но не меньше 6-8 месяцев
- Нужен ли ООП, фреймворки, MVC, git, composer? — Да, однозначно. Посмотри любую вакансию.
Аноним 2021/12/19 08:11:29  №2241615 2
Ответы: >>2241619
Аноним 2021/12/19 08:20:51  №2241619 3
>>2241615
>И сходу вопрос, как вам 8.1?
Enum'ы это нечто.
Ответы: >>2241628
Аноним 2021/12/19 08:36:32  №2241628 4
Ответы: >>2241630 >>2242482
Аноним 2021/12/19 08:37:28  №2241630 5
>>2241628
Копировать умирающее говно это конечно 10/10 мув.
Ответы: >>2241631 >>2241632 >>2242482
Аноним 2021/12/19 08:39:06  №2241631 6
>>2241630
Java еще тебя переживет
Аноним 2021/12/19 08:45:27  №2241632 7
>>2241630
Братство умирающего говна.
Аноним 2021/12/19 14:16:43  №2242011 8
В чем разница между папкой public и public_html для Ларавеля? Нужно ли удалять/заменять их как-то?
Аноним 2021/12/20 00:17:53  №2242482 9
>>2241628
>>2241630
А что плохого в перенятии good practice из других языков?
Ответы: >>2242531
Аноним 2021/12/20 06:12:17  №2242531 10
>>2242482
А я про джаву плохого не писал
Аноним 2021/12/20 12:17:12  №2242868 11
>>2241613 (OP)
>Или официальный мануал.
Это который helloworld на 5 минут, или langref? Реально стоит langref прочитать в первую очередь?
Ответы: >>2242928
Аноним 2021/12/20 13:30:27  №2242928 12
>>2242868

Если ты начинающий, то в справочник стоит заглядывать, только чтобы прояснить непонятные моменты. Если ты готовишься к собеседованию и планируешь строить карьеру разработчика, то желательно пролистать весь справочник.
Аноним 2021/12/20 16:37:12  №2243154 13
image.png (21, 1112x212)
212x1112
Как в шторме убрать эти ебучие серые линии? Все настройки облазил и ничего не нашел.
Ответы: >>2243165
Аноним 2021/12/20 16:43:47  №2243165 14
Ответы: >>2243179
Аноним 2021/12/20 16:48:08  №2243179 15
Аноним 2021/12/21 15:14:59  №2244167 16
Сап, есть кто живой?
Хочу вкатиться в эти ваши пхп.
Есть знания HTML, CSS, JS
В планах быстренько разобраться с php, базами данных, возможно манявель зацепить, и пойти рабом на стажировку куда возьмут.
Про вротенд не нужно писать. С зумерками не смогу конкурировать. Уже смирился с тем, что я тупой. Мой потолок зарплаты через лет 10 - 2000/3000 в лучшем случае. А мне больше и не нужно.
Есть ещё какие то вакансии и стажировки на Magento 2
Стоит туда пытаться попасть?
Какие вообще подводные просматриваются?
Ответы: >>2244179 >>2244767
Аноним 2021/12/21 15:21:06  №2244173 17
Поясните по атрибутам. Как я понял, доступ к ним все равно через рефлексию, а если так, то в чем их преимущество перед старыми добрыми аннотациями?
Ответы: >>2244190 >>2244326 >>2244767
Аноним 2021/12/21 15:25:28  №2244179 18
>>2244167
У меня впечатление, что чисто беки на пхп начинаются с опытных мидлов и сеньоров, так как большие компании на пхп вакухи, недомидлов и джунов не ищут. А в мелких пхп галерах фулстачество обязательно потребуют.
Ответы: >>2244193
Аноним 2021/12/21 15:32:54  №2244190 19
>>2244173
Потому что аннотаций в пхп нет. В симфони испольуется doctrine annotations. в чистом пхп из рефлексии ты можешь получить только комментарий и парсить его.
Ответы: >>2244219
Аноним 2021/12/21 15:34:03  №2244193 20
>>2244179
Ну и похуй. Готов фуллстаком грести, лишь бы на завод не ходить.
Ответы: >>2244213
Аноним 2021/12/21 15:47:26  №2244213 21
>>2244193
Тогда ищи галеры, где проекты пишут с нуля, отдают заказчику и забивают на поддержку. Это сильно легче чем поддерживать несколько стеков на легаси проекте.
Аноним 2021/12/21 15:56:48  №2244219 22
>>2244190
Аннотации были стандартом де факто, почти как ломбок в жабе, всех все устраивало, но нет, надо же обязательно запилить какую-то парашу с уебищным синтаксисом, спизженным из раста, блядь!
Аноним 2021/12/21 17:22:50  №2244326 23
>>2244173

Преимущество в том, что они часть языка. То, что было раньше, с точки зрения интерпретатора было просто комментарием. Код doctrine-annotations парсил эти комментарии и извлекал из них информацию. Теперь это делает PHP, и делает по строго определенным правилам, а раньше строгих правил не было.

Доступ через reflection, так как в PHP нет объектов-классов, объектов-функций итд.
Аноним 2021/12/22 02:30:38  №2244767 24
>>2244167
> и пойти рабом на стажировку куда возьмут
Никуда не возьмут, просто посмотри на требования у вакансий на джуна.

>Какие вообще подводные просматриваются?
Ебанутые тимлиды, завышенные требования к джунам, учить CMS смерти подобно. Подрастёшь до ООП, прыгай на symfony будет тяжело однако у большинства фреймворков она под капотом, да и прокачает она тебя не слабо.

>>2244173
>то в чем их преимущество перед старыми добрыми аннотациями
Аннотации это строка которую парсят и получают класс с параметрами магическими методами, а атрибут это класс использующийся на прямую как я понимаю. могу ошибаться офк
Ответы: >>2244790 >>2244918
Аноним 2021/12/22 04:16:46  №2244790 25
>>2244767
>Никуда не возьмут, просто посмотри на требования у вакансий на джуна.

Так там эти самые и требования, чел даже жс знает, возьмут на джуна сразу
Аноним 2021/12/22 08:45:08  №2244918 26
>>2244767
>завышенные требования к джунам
Это какие например?

>Подрастёшь до ООП
Мне казалось что без этого ХРюша не должна даже резюме открывать, не то что там собесить, а уже тем более на работу брать.
Ответы: >>2245043 >>2245252 >>2245259
Аноним 2021/12/22 09:25:19  №2244956 27
Аноним 2021/12/22 09:32:20  №2244962 28
Опытные аноны, подскажите когда вы работаете на удаленке есть ли смысл устанавливать WAMP? Или достаточно openserver'а? Ведь опенсервер удобнее.
Ответы: >>2244976 >>2244992
Аноним 2021/12/22 09:41:50  №2244976 29
>>2244962
Опытные аноны докеры с куберами используют
Аноним 2021/12/22 09:54:44  №2244992 30
Ответы: >>2245161
Аноним 2021/12/22 10:41:51  №2245043 31
>>2244918
>Это какие например?
Например опыт в коммерческой от года, пару фреймворков, докер, мускул\монго + редис, юнит-тесты, обязательно Вуе\Реакт и тд. Зайди на тот же хх и посмотри с пяток вакансий на джуниора. Имхо почти все такие вакухи это мидл мидл по требованиям, иногда больше.
Обычное хотение мидла, которой от 120 берёт, но на позицию джуна за 60, лол.
Ответы: >>2245058 >>2245252
Аноним 2021/12/22 10:54:56  №2245058 32
>>2245043
Какая ситуация на php галерах с кадрами? Глянул вакансии, их дохуя, но просмотров или откликов вообще нет. Это все потому что всякие вайтиблядские курсы не открывают у себя это направление и учат только верстке и реакту, иногда питону?

мимошел
Ответы: >>2245091
Аноним 2021/12/22 11:33:03  №2245091 33
>>2245058
>Глянул вакансии, их дохуя, но просмотров или откликов вообще нет.
Многие вакухи годами висят, так какой смысл на них откликаться? Там либо текучка лютая, либо условия рабские, либо хотелки большие, либо не очень нужно. Не поверю, что за полгода разработчика на нормальные не найти.

>Это все потому что всякие вайтиблядские курсы не открывают у себя это направление и учат только верстке и реакту, иногда питону?
ПХП не модный же, просто инструмент для работы. А так курсы найти не проблема, проблема потом работу найти - вайтишников с курсов почти нигде не берут.

Ответы: >>2245111
Аноним 2021/12/22 12:04:27  №2245111 34
>>2245091
>вайтишников с курсов почти нигде не берут
Ну и как вкатываться вообще, сидеть годами учить требования на вакансию, чтобы прийти и узнать что уже используются новые технологии?
Ответы: >>2245121 >>2245137 >>2245252
Аноним 2021/12/22 12:28:27  №2245121 35
>>2245111
Классическая мантра. Я то курсы не защищаю, просто непонятна логика. Почему их не должны брать, если человек имеет какие то знания и соответствует вакансии? Сейчас открываешь вакансии и много где написано, что ищем студентов, выпускников вузов или вайти курсов. Кого ебет где ты учился, в шараге, дома по книге или год на курсах за 300кк?
Ответы: >>2245137
Аноним 2021/12/22 12:44:16  №2245137 36
>>2245111
>сидеть годами учить требования на вакансию
А за полгода ты ничего не изучишь - максимум вордпресс какой пощупаешь. Самостоятельно решать девеловерские задачи на таком уровне не выйдет.
А так да - сидят и учать пару лет. Если не интересно, то попробуй что-нибудь другое.

>>2245121
>Кого ебет где ты учился, в шараге, дома по книге или год на курсах за 300кк?
Да не проблема - дадут тестовое и ты обязательно соснёшь, или соснёшь на первой же таске. Дело не в курсах как таковых, а в том, что там ничему не учат - у них задача бабла нарубить в первую очередь. Хочешь научиться - придётся помимо курсов самому впахивать в три раза больше. Только тогда возникает вопрос - а нахуя эти курсы нужны получается, если большую часть работы делаешь сам?
Ответы: >>2245252
Аноним 2021/12/22 12:56:34  №2245161 37
>>2244992
Я так понимаю нужен только докер а все остальное выставляется в его зависимостях?

Не пинайте, прошу, я работал полтора года на заводе пхп макакой, где был апачи на локалхосте и виндус сервер и все уже было настроено, потому и не разбираюсь в администрировании
Ответы: >>2245208 >>2245238
Аноним 2021/12/22 13:30:08  №2245208 38
>>2245161
ставишь docker-ce и docker-compose
в проекте создаешь файл docker-compose.yaml
в файле прописываешь сервисы
services:
____baza:
________from: postgres:latest
____server:
________from: nginx:latest
____app:
________from: php-fpm:latest

конфиг не валидный просто для пояснения

Методом научного тыка настроить не получится, читай доки или смотри видосы. Под винду либо wsl2, не home версия винды нужна или проще поставить vmware player и туда убунту.
Ответы: >>2245289
Аноним 2021/12/22 14:03:40  №2245238 39
>>2245161
Да, только сам докер в Dockerfile ты описываешь какой образ тебе нужно php-fpm, nginx, postgres и нужную версию, а при билде он сам всё скачает, потом для разработки можно это всё дело поднимать при помощи docker-compose а на проде всякие кубернетисы, но это уже дела девопсов.
Ответы: >>2245289
Аноним 2021/12/22 14:19:14  №2245252 40
>>2244918
>Это какие например?
На ХХру просто ради интереса поищи вакансии ждунов, там порой доходит до абсурда. Год коммерческой разработки на чистом или же на каком либо MVC фреймворке, а есть ещё жизики которые требуют вышку... Просто представил: Отучился ты такой на погремиста, у тебя в багаже Си или плюсы и ты пиздуешь работать за 70к в контору на должность ПХП макаки.
PSR'ы, паттерны порою требуют.

>>2245043
Пожалуй удвою энтого.

>>2245111
>Ну и как вкатываться вообще
Придумываешь себе проект, открываешь доку по пхп, говнокодишь. Тратить деньги на курсы когда вся инфа в открытом доступе и передаётся онлине из страницы прямо тебе в глаза, дикий долбаебизм.

>сидеть годами учить
При плотном кодинге и заучивании пыха до ООП учится за полгода до сносного уровня, даже если год, то новые технологии не далеко уйдут вон 7.4 вышла 2года назад, а на ней до сих пор кодят.

>>2245137
>А за полгода ты ничего не изучишь
Пыха один из самых простых и узконаправленных языков и за полгода учится вполне. Если хуйнёй не заниматься

>дадут тестовое
Никогда не беритесь за тестовые, это наебалово чистой воды.
Ответы: >>2245285 >>2245378 >>2245448
Аноним 2021/12/22 14:26:50  №2245259 41
image.png (22, 999x238)
238x999
>>2244918
>Это какие например?
Только зашёл на HH и тут тебе ждун+ от 2ух лет.
Аноним 2021/12/22 14:56:02  №2245285 42
>>2245252
>Никогда не беритесь за тестовые
Имхо тестовые на часок, решаемые практически вотпрямщас, когда ты на коленке можешь накидать, показать и обсудить, вполне можно делать. Что-то выше этого - просто неуважение к соискателю и его личному времени.
Аноним 2021/12/22 15:01:59  №2245289 43
Аноним 2021/12/22 16:24:22  №2245378 44
>>2245252
>Просто представил: Отучился ты такой на погремиста, у тебя в багаже Си или плюсы и ты пиздуешь работать за 70к в контору на должность ПХП макаки.
Лол, у меня полгода пхп Битрикса в расчёт можно не брать и 8 месяцев рельсы, я на 100 собесился и походу продешевил, мне как нехуй делать предлагали офер, вопросы простейшие кроме одного про то как работает интерпритатор и про пару гемов с которыми не работал после нг попробую на мидловые пооткликаться за 120+ и походу съебу на почти х2.
Ответы: >>2245382
Аноним 2021/12/22 16:29:24  №2245382 45
>>2245378
>после нг попробую на мидловые пооткликаться за 120
Сейм - после нг предстоит разговор о повышении с руководством, если не договоримся, то полечу на юга за новой зарплатой, громко курлыча.
Аноним 2021/12/22 16:31:56  №2245385 46
Работал год на удалёнке за 500$ без оформления и с чёрной зп, фреймворк Symfony и немного Zend'a, MySQL+ClickHouse и прочая херь. Сейчас начинаю искать новую РАБоту, запрашиваю 1000$, ну это минимум, нормас прайс?
Аноним 2021/12/22 18:02:09  №2245448 47
>>2245252

> Никогда не беритесь за тестовые

И как работодатель оценит твой код без тестового? На словах-то все вы Львы Толстые.
Ответы: >>2245449 >>2245754
Аноним 2021/12/22 18:07:39  №2245449 48
Аноним 2021/12/22 18:25:27  №2245458 49
Расскажите что нужно изучить чтобы освоить тестирование?
Ответы: >>2245462 >>2245474 >>2246053
Аноним 2021/12/22 18:31:01  №2245462 50
>>2245458
Еще вопрос: есть ли возможность писать не как обычно когда скрипты на каждый запрос исполняются заново, а как на питоне когда есть рабочий цикл и он обрабатывает весь HTTP?
Ответы: >>2245467 >>2245555 >>2246053
Аноним 2021/12/22 18:49:45  №2245467 51
>>2245462
Можно. но в пхп это нетривиально и нераспространено. Роль аппликейшен сервера выполняет менеджер процессов php-fpm
Он создает пул php воркеров, принимает запрос через сокет и посылает на обработку воркеру. Если я не ошибаюсь пхп воркер не отрабатывает и умирает как в cgi, а работает между фазами инициализации php, в начальной фазе все данные в глобальных переменных стираются, очищается скоуп и тд и тп. Когда воркер сожрет слишком много памяти, php-fpm его гасит, и запускает новый процесс. Сейчас появляются новые менеджеры для пхп процессов. Например на голанге roadrunner, с ним пхп воркер способен сохранять свое состояние между запросами.
Аноним 2021/12/22 19:03:01  №2245471 52
>>2245467
мне хоть и нравится php, но вот это вот мне не нравится
это порождает выкрутасы для нормального роутинга и жрет ресурсы наверное больше чем могло бы


node js норм или слишком зумерская хуйня?
сам js неплохой язык, но вот хочу узнать как он в сравнении с php в реальном использовании
Аноним 2021/12/22 19:07:26  №2245474 53
>>2245471
>>2245467
алсо, что по тестированию скажешь?
>>2245458

что лучше всего использовать и как вообще пишут тесты?
Ответы: >>2245559
Аноним 2021/12/22 19:07:50  №2245475 54
>>2245471
>js неплохой язык, но вот хочу узнать как он в сравнении с php в реальном использовании
js - создавался для кручения дерева в браузере, php - создавался для бекенда. В контексте чего ты их сравнивать хочешь?
Ответы: >>2245490
Аноним 2021/12/22 19:08:18  №2245476 55
>>2245467
Наверно непонятно сказал. Нетривиально и нераспространено запускать скрипты через CLI и чтобы скрипт работал как нода или приложение на питоне обрабатывая запросы. В сам пхп встроен сервер чисто для разработки, запускаемый через CLI. Для прода используется менеджер процессов php-fpm.
Ответы: >>2246064
Аноним 2021/12/22 19:27:46  №2245487 56
>>2245471
Почему нельзя написать приложение на пыхе, а скажем вебсокеты, шлюз для раббита, редиса, и т.д написать на ноде? Будет у тебя нода пхп апишку дергать кода сообщение от редиски придет. Мне кажется это лучше чем на код пхп, там где надо контролировать, чтобы он не сожрал всю память, как редис консумер например.
Чтобы все писать на ноде? Это дело вкуса и наличия умения написать что-то сложное на ноде. Обычно же человек хорошо знает что-то одно, а остальное как вспомогательное осваивает.

Ответы: >>2245489 >>2245492 >>2246064
Аноним 2021/12/22 19:29:43  №2245489 57
>>2245487
>Чтобы все писать на ноде?
дорога в ад
Аноним 2021/12/22 19:31:25  №2245490 58
image.png (56, 1233x199)
199x1233
>>2245475
>js - создавался для кручения дерева в браузере

Хуйни-то не неси.
Аноним 2021/12/22 19:34:10  №2245492 59
>>2245487
>Обычно же человек хорошо знает что-то одно, а остальное как вспомогательное осваивает.

Ты умеешь кушать или какать? Что из этого ты умеешь, а что вспомогательное?
Ответы: >>2245496
Аноним 2021/12/22 19:38:50  №2245496 60
>>2245492
Какать это вспомогательное! Кушают долго с чувством наслаждения, а какают хорошо что не на бегу...
Ответы: >>2245502
Аноним 2021/12/22 19:46:58  №2245502 61
>>2245496
Вот рили ты изучишь симфони и нестжс, ты их собираешься попеременно применять или как? На проекте у тебя основным будет одно, ты его лучше изучишь. При поиске следующей работы ты снова выберешь, что лучше знаешь, чтобы зепка была.
Аноним 2021/12/22 21:51:25  №2245555 62
>>2245462
>>2245471
https://laravel.com/docs/8.x/octane
В ларавеле давно есть хуйня, которая меняет принцип работы на рабочий цикл с один раз инициализированным приложением, которое дальше лежит в памяти и не создаётся каждый раз при запросе. видел проект, где это использовалось, но сам ещё не трогал
Ответы: >>2245556
Аноним 2021/12/22 22:01:58  №2245556 63
>>2245555
Вот, собственно, анон писал >>2245467 про один из вариантов того, что в Octane может под капотом быть, roadrunner на go.
Аноним 2021/12/22 22:13:54  №2245559 64
>>2245474
бамп

Алсо, какой фреймворк выбрать из тех чтобы работать за деньги?
Нужен такой, чтобы можно было просто кидать в htdocs на хостинге.
Ответы: >>2246064 >>2251917 >>2251948
Аноним 2021/12/23 09:00:11  №2245754 65
>>2245448
>И как работодатель оценит твой код без тестового
Для этого существует возможность открывать репозитории на гитхабе.

>>2245471
>сам js неплохой язык
'2' + '2' - '2' =? 20 КАРЛ! Охуенный язык-костыль
Ответы: >>2245787
Аноним 2021/12/23 09:33:09  №2245787 66
>>2245754
Нахуй ты со строками арифметику делаешь? Приводи типы и у тебя всё будет нормально, на бекенде вообще в последнее время typescript везде, а он тебе не даст говнокод написать
Ответы: >>2245803 >>2245837
Аноним 2021/12/23 09:47:40  №2245803 67
image.png (141, 334x288)
288x334
>>2245787
>typescript
Ещё один адепт фреймворка для исправления косяков языка.
Ответы: >>2245879 >>2245880
Аноним 2021/12/23 10:25:51  №2245837 68
>>2245787
Транслируется в обычный жс,а там на выходе такая лапша может быть...
Ответы: >>2245876 >>2245877 >>2245878
Аноним 2021/12/23 10:51:08  №2245876 69
>>2245837
Если ты везде any не будешь писать, то '2' + '2' - '2' у тебя не получится
Аноним 2021/12/23 10:52:31  №2245877 70
>>2245837
Любой статический. Ипизированный язык трансдируется в то, где в раетайме нет никаких проверок и там может быть такая лапща из маш или байткожа, что ты не прелставляешь.

Аноним 2021/12/23 10:54:27  №2245878 71
>>2245837
А сишка это фреймворк для исправления машкода... Когда уже сделают процессор с поддержкой Хаскеля?!
Ответы: >>2245880
Аноним 2021/12/23 10:54:41  №2245879 72
>>2245803
>фреймворка
Это диалект js, принцип подобен указанию типов в пхп начиная с 7 версий, принцип точно такой же - костыль для исправления косяков языка https://habr.com/ru/post/259497/ которым все пользуются, я в том числе когда на пыхе писал
Ответы: >>2245926 >>2245978
Аноним 2021/12/23 10:54:55  №2245880 73
Аноним 2021/12/23 11:42:03  №2245926 74
>>2245879
Ты дилетантишка, для которого языки программирования это магия, работающая сама по себе. Поэтому ты и не понимаешь, какую дичь ты несешь.
Ответы: >>2245962 >>2246038
Аноним 2021/12/23 11:46:00  №2245930 75
Подскажите по каким ресурсам или книгам можно познакомиться с Laravel?
Документация на первый взгляд не выглядит, как материал, по которому можно разобраться с фреймворком ньюфагу.
Есть какая то книга за 2020 год, но там версия 5.8, а сейчас уже 8 актуальная
За это время были какие то кардинальные изменения или можно ее прочитать?
Аноним 2021/12/23 12:15:47  №2245962 76
>>2245926
Какой-то токсичный пердёж без аргументов. Иди-ка ты обратно в свой /б, откуда вылез.

мимо
Аноним 2021/12/23 12:37:38  №2245978 77
>>2245879
>Это диалект js
Диалект это это например camelCase || snake_case, а TS попросту ебаная заглушка для языка который запилили на коленке, а потом на его поддержку либо забили хуй, либо сами не знают как исправлять эту поебень под названием JS.
В прошлом треде всё ясно расписывал анон, что можно просто ошибиться в наименовании свойства и засеттить какое то новое свойство, а жабаскрипт не то, что ничего не скажет, а сделает вид, что так и надо.
Когда запилят адекватный ЯП для фронта с типизацией и куртизанками - JS сдохнет.

>https://habr.com/ru/post/259497/
Статейка от еблана сравнивающего через == и удивляющегося почему динамический язык при нестрогом сравнении ведёт себя так.
Или ты сравниваешь как человек используя тождество или идёшь нахуй с говнокодом своим ебаным, ибо адекватные языки вообще посылают нахуй когда видят '2' - '2' или же 2 == '2'.
Ещё и статья 2015го года...
Только вот почему то пыха делает всякие прикольные вещи в своём языке каждый патч, а для JS пилят фреймворк который латает дыры в костыле ведь JS не обновляется.

>я в том числе когда на пыхе писал
Если бы ты работал в интерпрайзе, то с такими сравнениями как: ==
Тебя сразу посылают нахуй из компании.
Ответы: >>2246056
Аноним 2021/12/23 12:58:06  №2245999 78
Ананасы, почему xdebug не ловит брейкпойнты в консольной команде? Запускаю вот так php -dxdebug.start_with_request=yes bin/console app:bla-bla-bla
Что не так? Точно помню, что раньше все работало
Аноним 2021/12/23 12:59:50  №2246002 79
>>2245467
Где можно про это подробней почитать/посмотреть? Как вообще вся эта кухня вместе работает?
Аноним 2021/12/23 13:02:34  №2246008 80
>>2246002
Под твои запросы скорее подпадает роадраннер или php-pm, не путать с пхп-фпм. Почитать - в гугле.
Аноним 2021/12/23 13:04:06  №2246010 81
>>2246002
А, там тебе анон и так написал про роадраннер. Не заметил.
Аноним 2021/12/23 13:05:20  №2246012 82
Аноны, подскажите ломаный PHPStorm 2021 (в который вшит авторесет триала от китайцев) с гитхабом нормально работает? Майор не набутылит за такое?
Ответы: >>2246019 >>2246033
Аноним 2021/12/23 13:07:33  №2246019 83
>>2246012
Псс, чувак, можно же просто раз в месяц регать новую почту
Аноним 2021/12/23 13:16:32  №2246033 84
>>2246012
А что, Eval Reset добавляет в твой код цп?
Ответы: >>2246034
Аноним 2021/12/23 13:22:15  №2246034 85
>>2246033
Не знаю, поэтому и спрашиваю.
Аноним 2021/12/23 13:29:10  №2246038 86
>>2245926
Прям чувствуется перегар битрискоида сквозь монитор, давай расскажи мне тупому что да как
Аноним 2021/12/23 13:59:18  №2246053 87
>>2245458

Думаю, надо читать книги по тестированию. А так, у нас есть вводный урок, который в общих чертах рассказывает про автоматическое тестирование: https://gist.github.com/codedokode/a455bde7d0748c0a351a

>>2245462

Да, есть. Ты можешь открыть порт и принимать соединения. В этом случае PHP запускается не из-под менеджера процессов вроде php-fpm, а из командной строки. Ты можешь написать код полностью сам или использовать библиотеки вроде ReactPHP.
Аноним 2021/12/23 14:00:52  №2246056 88
>>2245978
>Диалект это это например camelCase || snake_case
Хоть бы статья почитал в Википедии для приличия, чтобы отличить нотацию от диалекта
https://ru.m.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82_(%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)

>потом на его поддержку либо забили хуй, либо сами не знают как исправлять эту поебень под названием JS
Поинтересовался бы для начала как на его поддержку хуи забивают, новая версия ноды и v8 2 раза в год выходит, ts вообще постоянно обновляется. Сама спецификация языка в последнее время не обновляется это да.

>Когда запилят адекватный ЯП для фронта с типизацией и куртизанками - JS сдохнет.
Уже можно, хоть на плюсах, хоть на расте, хоть на го, wasm уже везде поддерживается, на расте даже пилится фреймворк yew типа реакта

>Только вот почему то пыха делает всякие прикольные вещи в своём языке каждый патч, а для JS пилят фреймворк который латает дыры в костыле ведь JS не обновляется.

Собственно в пхп к 8.0 довели типизацию до уровня typescript, потихоньку делают джавашарп из языка и взяли из раста аннотации и оператор match, плюс ещё куча всякой хуйни, просто тупо заваливают синтаксическим сахаром, оставив всё легаси для обратной совместимости, ладно хоть jit прикрутили. собственно одна из причин почему я ушёл от пыхи
Ответы: >>2246068 >>2246089
Аноним 2021/12/23 14:04:03  №2246061 89
>>2245467

Не надо вводить в заблуждение. Что значит "нетривиально"? В PHP есть сокеты, и более того, они могут работать в асинхронном режиме. Код получается такой же, как например, если бы его писали на Си.

>>2245471

> это порождает выкрутасы для нормального роутинга и жрет ресурсы наверное больше чем могло бы

Наоборот. Так как PHP очищает память после каждого запроса, это позволяет избегать утечек памяти. В то же время на других платформах (вроде Ноды, Го, Java, Питон, Руби) такой возможности нет и там очень часто происходят утечки памяти. Погугли и ты найдешь вопросы "у нас сервер на языке X постоянно потребляет память, что делать" и советы вроде прибивать его каждый час по крону. Вот так высокие технологии! У них нет ни инструментов для поиска утечек, ни средств борьбы с ними и все, что остается незадачливым разработчикам - лепить костыли.

Ответы: >>2246080
Аноним 2021/12/23 14:11:37  №2246064 90
>>2245476

То есть, написать в командной строке node app.js это "тривиально", а если мы команду заменим на php app.js то это сразу же становится "нетривиально".

>>2245487

> Мне кажется это лучше чем на код пхп, там где надо контролировать, чтобы он не сожрал всю память, как редис консумер например.

А что такого магического есть в ноде, что защищает от утечек памяти? Ты просто хочешь написать что-нибудь плохое про PHP без всяких оснований.

>>2245559

Это небезопасно, выкладывать весь код в публичную папку. Забудь про хостинги и осваивай основы администрирования Линукс.


Ответы: >>2246630
Аноним 2021/12/23 14:17:51  №2246068 91
>>2246056

> Уже можно, хоть на плюсах, хоть на расте, хоть на го, wasm уже везде поддерживается, на расте даже пилится фреймворк yew типа реакта

Я сталкивался с приложениями на Дарт (по моему, они использовались в какой-то админке Гугла для управления рекламой), это выглядит как 6 или больше мегабайт яваскрипта, стиль Material Design и жуткие тормоза, как при загрузке, так и при работе если только ты не купишь самый дорогой макбук.

С тех пор я скептически отношусь к идее использовать что-то, кроме JS, для фронтенда.

Конечно, в теории WASM не обязывает тебя делать 6-мегабайтные бинарники. Но на практике выйдет именно это.

Это как препроцессоры CSS, вроде хорошие задумки, но на практике на них пишут только нечинаемую уродливую лапшу с 8 уровнями вложенности. Без них код бы получился лучше, хоть это и потребовало бы чуть больше времени.

В общем, эти макбук-технологии это дрянь. Покажи мне фреймворк на WASM который весит менее 50 Кб и не перерисовывает весь DOM на каждый чих и тогда я соглашусь что это хорошая технология.
Аноним 2021/12/23 14:30:30  №2246080 92
>>2246061
Память на пхп нормально не очищается для cli скриптов
Пыху никто как питон скрипт не запускает, за исключением случаев использования асинхронных reactphp, amphp и т.д и там надо следить памятью костылями
Обычный режим работы пыхи через процесс менеджер типа fpm
Ответы: >>2246085 >>2246472
Аноним 2021/12/23 14:34:05  №2246085 93
>>2246080
Вспомнил распостраненный запуск пыхи в cli на проде - это очереди в ларке. Но это какой-то уровень сайта для чебуречной.
Аноним 2021/12/23 14:39:34  №2246089 94
>>2246056
>ts вообще постоянно обновляется
>новая версия ноды и v8 2 раза в год выходит
Охуеть, фреймворки обновляются, а сама основа нет.
Ты без упоминания TSа и дня прожить не можешь?

>Сама спецификация языка в последнее время не обновляется это да
Мог бы до этого ничего не писать...

>Уже можно
С танцами по типу скачай установи скомпиль в JS. Нахуя они мне нужны если нативно не поддерживаются браузером?

>Уже можно, хоть на плюсах, хоть на расте, хоть на го
Уж лучше на нормальных языках, чем на надстройке\фрейморке JSа которые только раздувают код like as TS

>просто тупо заваливают синтаксическим сахаром
И от этого сахара почему то пыха работает всё быстрее из патча в патч.

>собственно одна из причин почему я ушёл от пыхи
Не смог в тождественное сравнение, Enum'ы или матчи?
Ответы: >>2246105
Аноним 2021/12/23 14:41:27  №2246093 95
>>2246002
А дело в том, что НИГДЕ

Традицию так легко изменить невозможно. Проще свичнутся в питон.
Этих чебуречных в мире миллионы.
Аноним 2021/12/23 14:51:35  №2246105 96
>>2246089
>Не смог в тождественное сравнение, Enum'ы или матчи?
Не смог видеть как такие как ты этим пользуются) Плюс всякие уебищные конструкторы и прочие мелочи жизни, которые добавили в 8.
Ответы: >>2246138 >>2246590
Аноним 2021/12/23 15:16:55  №2246138 97
>>2246105
И что же такого уебищного в новых конструкторах? Чем хуево писать __construct(public readonly string $azaza) и иметь маленькие дтошки без ебли с геттерами и сеттерами?
Ответы: >>2246255 >>2246472 >>2246590
Аноним 2021/12/23 16:28:17  №2246255 98
>>2246138
>писать __construct(public readonly string $azaza) и иметь маленькие дтошки без ебли с геттерами и сеттерами?
Бля может ну его нахуй этот ПХП тогда и все на Жаву пересядем?
Ответы: >>2246264
Аноним 2021/12/23 16:45:28  №2246264 99
>>2246255
У джавы совершенно другая модель исполнения. И на шаред хостинг ты жаву не запихнешь.
Ответы: >>2246346
Аноним 2021/12/23 16:55:21  №2246275 100
Помогите разобраться с валидатором симфы. Есть констрейнт UniqueEntity, но проблема в том, что мне нужно применять его не к сущности, а к DTO. Пробовал указывать нужную сущность в опции entityClass и поле для валидации в опции field, но не прокатило. Пока решил проблему созданием кастомного констрейнта, но что-то мне кажется, что я навелосипедил без необходимости.
Ответы: >>2246283 >>2246476
Аноним 2021/12/23 17:08:50  №2246283 101
Ответы: >>2246287 >>2246301
Аноним 2021/12/23 17:12:36  №2246287 102
>>2246283
Но ты можешь вместо массива дто передавать
Аноним 2021/12/23 17:20:51  №2246301 103
>>2246283
Ты меня не не так. У меня нет проблем с валидацией ДТО (форм тоже, кстати, нет). Проблема исключительно в UniqueEntity и я хочу понять, то ли я не умею его готовить, то ли я все сделал правильно, написав свой констрейнт.
Ответы: >>2246303 >>2246306
Аноним 2021/12/23 17:21:13  №2246303 104
Аноним 2021/12/23 17:23:40  №2246305 105
А че в Wamp надо все командами запускать и настраивать?
Ответы: >>2246311
Аноним 2021/12/23 17:23:48  №2246306 106
>>2246301
Ты уж определись DTO у тебя или Entity.
Ответы: >>2246312
Аноним 2021/12/23 17:26:31  №2246311 107
>>2246305
Лучше покупай доллары пока они по 24 руб
Ответы: >>2246343
Аноним 2021/12/23 17:26:47  №2246312 108
>>2246306
Да вроде понятно писал. Правила валидации в ДТО, из которого после успешной валидации создается сущность. Нужно проверять одноименное поле из сущности на наличие в БД.
Ответы: >>2246330
Аноним 2021/12/23 17:38:14  №2246325 109
image.png (25, 1058x68)
68x1058
Оказалось, что я велосипедил не зря.
Аноним 2021/12/23 17:40:40  №2246330 110
>>2246312
Ты вообще что-то непонятное лепишь и называешь не правильными словами.
Ответы: >>2246347
Аноним 2021/12/23 17:57:40  №2246340 111
А возможно реализовать такое, чтобы при входящем пост запросе с любым содержанием скрипт обратно отсылал заранее определенный ответ?
Ответы: >>2246483
Аноним 2021/12/23 17:58:36  №2246343 112
>>2246311
Ну и к чему ты это ляпнул?
Аноним 2021/12/23 18:00:53  №2246346 113
>>2246264
>шаред хостинг
Когда ты начинаешь писать public __construct(public readonly string $azaza), то часто там уже не до шаред хостинга и уже другие материи. По наблюдениям естественно.
Аноним 2021/12/23 18:01:27  №2246347 114
>>2246330
И шо таки тебя смутило? Не иначе поле/свойство? Я недавно в таком сраче на тему терминологии уже поучаствовал и больше не хочу. И ничего странного я не леплю, просто давно решил, что сущности должны быть всегда валидны, следовательно в них нет места правилам валидации.
Ответы: >>2246352
Аноним 2021/12/23 18:15:25  №2246352 115
>>2246347
Да я понял что ты велосипедишь, это очень увлекательно, продолжай. Просто у меня, когда говорят дто, сначала возникает мысль что человек хочет отделить бизнес логику от фреймворка, инфраструктуры и т.д. Дто из реквеста валидируют чтобы выплюнуть фронту ошибку, это задача инфраструктуры. Требование уникальности это требование бизнес логики, но одновременно и протекающая абстракция, потому, что чисто в слое БЛ эту проверку сделать нельзя.
Ответы: >>2246360 >>2246483
Аноним 2021/12/23 18:19:55  №2246360 116
>>2246352
Спасибо, продолжаю дальше.

>>Требование уникальности это требование бизнес логики, но одновременно и протекающая абстракция, потому, что чисто в слое БЛ эту проверку сделать нельзя.

Просто нужно сделать ДТО для ДТО и проблема протекания исчезнет азаза
Ответы: >>2246365
Аноним 2021/12/23 18:27:04  №2246365 117
8ztmk.png (206, 681x589)
589x681
>>2246360
Валидация моделей БЛ это задача БЛ. ДТО валидируется чтобы вернуть фронту, что он забыл заполнить требуемое поле . Поле в форме - это очевидно не забота БЛ. Вопрос о границах и направлении зависимостей.
Проблема протекания не исчезнет никогда, ты не сможешь всю таблицу загрузить в модель БЛ и проверить там.
Аноним 2021/12/23 19:12:07  №2246392 118
Ребята почему Битрикс недолюбливают можете объяснить пожалуйста?
Ответы: >>2246397 >>2246422
Аноним 2021/12/23 19:22:00  №2246397 119
>>2246392
Почему же? Кабанчики его обожают.
Ответы: >>2246422
Аноним 2021/12/23 20:07:58  №2246422 120
>>2246392
>>2246397
Где вообще почитать что это и как это юзать? В моих пердях в вакансиях он идет в одном стеке с пыхой.
Ответы: >>2246564 >>2246565
Аноним 2021/12/23 21:22:57  №2246472 121
>>2246080

> Память на пхп нормально не очищается для cli скриптов

Зачем ты вводишь в заблуждение. В PHP есть и подсчет ссылок, и сборка мусора. Ровно то же самое, что в Питоне и в Node.JS.

>>2246002

Чтобы разобраться, как работают асинхронные фреймворки вроде ReactPHP, тебе сначала надо почитать про сокеты (не вебсокеты, а сокеты Беркли), потом про асинхронные вызовы и poll/select, потом про промисы и дополнительно поковырять документацию или исходники ReactPHP или аналогичной библиотеки.

>>2246138

Лучше бы конечно DTO сделали как в Питоне dataclasses.

Ответы: >>2246581
Аноним 2021/12/23 21:29:29  №2246476 122
>>2246275

> Есть констрейнт UniqueEntity, но проблема в том, что мне нужно применять его не к сущности, а к DTO.

Если поискать валидатор этого констрейнта: https://github.com/symfony/doctrine-bridge/blob/876bef571479727119e03ff82752a8ba56dc5c91/Validator/Constraints/UniqueEntityValidator.php#L85

То мы увидим там:

> $class = $em->getClassMetadata(\get_class($entity));

То есть проверять им можно только сущность Доктрины иначе метаданные в этой строчке не найдутся.

Так что похоже надо делать свой валидатор.

Это недостаток DTO. Когда у тебя в коде есть два разных объекта, представляющих одно и то же, приходится делать по две функции для работы с ними (иногда тут могут помочь интерфейсы, но не в этом случае).
Аноним 2021/12/23 21:36:44  №2246483 123
>>2246340

Если у тебя заранее заготовлен ответ, то тебе запускать скрипт не нужно. Ты можешь настроить веб-сервер, чтобы при методе POST он, например, отдавал HTML-файл с диска. Как настроить - зависит от используемого сервера - nginx или Apache и, боюсь, тебе придется погрузиться в их документацию. Документация к nginx есть на русском.

В апаче вроде как можно использовать директиву Limit: https://httpd.apache.org/docs/2.4/mod/core.html#limit

>>2246352

> Просто у меня, когда говорят дто, сначала возникает мысль что человек хочет отделить бизнес логику от фреймворка, инфраструктуры и т.д

ДТО может быть просто ДТО, которое например представляет данные из формы (или пришедшие из API), и нет никакой сложности сделать проверку на отсутствие таких данных в БД. А ты начинаешь додумывать, как там архитектура устроена.
Ответы: >>2246534
Аноним 2021/12/23 23:44:04  №2246534 124
>>2246483
Спасибо, всё оказалось гораздо проще, скрипт как ответ принимает содержимое файла к которому обращается
Аноним 2021/12/24 04:03:55  №2246564 125
>>2246422
На хабре была статья про Битрикс, погугли. Если в кратце, то все очень плохо.
Аноним 2021/12/24 04:22:13  №2246565 126
Аноним 2021/12/24 05:37:25  №2246581 127
>>2246472
Зачем ты вводишь в заблуждение https://divinglaravel.com/avoiding-memory-leaks-when-running-laravel-queue-workers

Покеж пример уровня питоновской фляги на пхп или пример нодовского экспесса, где сел и поехал на аппликейшен сервере, а не лисапеды которые ты предлагаешь. Так то селект и епол везде можно вызывать, как и любое апи на сишке.
Ответы: >>2246677 >>2247029
Аноним 2021/12/24 06:04:17  №2246590 128
>>2246105
>Плюс всякие уебищные конструкторы
>Хнык хнык, пачиму так сложна
В 8ую пыху наоборот добавляют плюшки упрощающие жизнь, размер кода и производительность.
Хотя наоборот радует, что из года в год пыха становится типизированнее и из неё бегут всякие макаки которые сравнивают не тождество или не знают как работает их код.

>>2246138
>И что же такого уебищного в новых конструкторах?
То что им сложна, а когда им сложна их на работу не берут и приходится уходить туда где попроще.
Аноним 2021/12/24 07:38:43  №2246630 129
>>2246064
>Это небезопасно, выкладывать весь код в публичную папку. Забудь про хостинги и осваивай основы администрирования Линукс.
НАМ НУЖЕН САЙД НА МОДНОМ СРАЛАВЕЛЕ
@
ОК, ПОКУПАЙТЕ ВПС
@
ОЙ ДОРАХА, ДАВАЙ ТОГДА ВОРДПРЕС ХУЙ СНИМ
Аноним 2021/12/24 07:50:53  №2246641 130
Современный вордпресс такой же ад,как и легаси версии?
Ответы: >>2246680
Аноним 2021/12/24 08:28:27  №2246677 131
image.png (52, 1097x371)
371x1097
Ответы: >>2246757
Аноним 2021/12/24 08:34:56  №2246680 132
>>2246641
Вордпресс был современным только вначале прошлого десятилетия. Лучше не стоит ставить эти два слова вместе.
Аноним 2021/12/24 10:39:05  №2246757 133
>>2246677
Ебало тимлида представили, когда мидл новый проект с таким кодом принесет, вместо круда на ларевеле. А когда эта хуйня начнет активно с орм работать и всю память в контейнере выжрет мидла ногами будут пинать или только обоссут?
Ответы: >>2246766 >>2246793
Аноним 2021/12/24 10:49:27  №2246766 134
>>2246757
На скрине обыкновенный код, который не вызовет удивления ни у мидла, ни у адекватного джуна.
Ответы: >>2246787
Аноним 2021/12/24 11:02:18  №2246787 135
>>2246766
Теоретик, спок. Я тебе написал причину почему твой код не будет работать в сложном приложении на пхп. Ты писал когда-нибудь долгоиграющие джоб воркеры на пхп? Предположим ты хочешь реквесты обрабатывать на манер экспресса и хранить какие-то данные в глобальном объекте для простоты. например статистику запросов. Тебе придется твой воркер перезапускать потому что пхп библиотеки не спроектированы для работы в CLI режиме. Глобальные данные придется сохранять и восстанавливать после перезапуска воркера. Короче костыли костылики
Ответы: >>2246790 >>2246813 >>2247043
Аноним 2021/12/24 11:05:52  №2246790 136
>>2246787
Любая пхп ормка насрет тебе столько в память, что ты будешь каждый час за ней прибирать
Ответы: >>2247043
Аноним 2021/12/24 11:12:01  №2246793 137
>>2246757
Представили ебало тупорылого пориджа, который кроме круда нихуя не видел в своей никчемной жизни? Никто в здравом уме и не будет тащить асинхронщину в обычное крудоподелие. А тот кто потащит будет знать, зачем ему это нужно и наверняка озаботится поиском асинхронного клиента для БД и борьбой с утечками памяти. И, кстати, пыха сама по себе давно уже не течет.
Ответы: >>2246805
Аноним 2021/12/24 11:29:32  №2246805 138
>>2246793
Так зачем оспаривать начали, что в пыхе менеджеры процессов используются как апп сервер, которые пыхины воркеры перезапускают, а работа в cli нетривиальная и нераспостраненная практика? Может не ты может другой анон, а ты влез без контекста.
Ответы: >>2246818 >>2247043
Аноним 2021/12/24 11:37:53  №2246813 139
>>2246787
А ты не пробовал писать воркеры, которые не протекают? Говорят, что это охуенная тема. А если не судьба, то периодическое прибитие воркеров и перезапуск их супервайзером с временным хранением данных в каком-нибудь редисе вполне себе нормальный подход, хоть и немного компромиссный. И уж точно не какой-то там невероятный костыль. Я кончил
Аноним 2021/12/24 11:41:11  №2246818 140
>>2246805
>>а работа в cli нетривиальная и нераспостраненная практика
Ну это ты загнул. Лично мне на всех моих работах приходилось лепить что-то консольное. От простых команд до любимых тобой воркеров, так что это точно не экзотика
Ответы: >>2246830 >>2246831
Аноним 2021/12/24 11:48:56  №2246830 141
>>2246818
Чел, контекст. Вопрос был: "Хачю кок в ноде", впрос не стоял можно ли запустить комманд на пхп. Как в ноде - экотика. Если пойти по этому пути, то придется долго докладывать Кобанычу, что ты все еще борешься с трудностями а не решаешь бизнес задачу.
Аноним 2021/12/24 11:49:21  №2246831 142
>>2246818
Чел, контекст. Вопрос был: "Хачю кок в ноде", впрос не стоял можно ли запустить комманд на пхп. Как в ноде - экотика. Если пойти по этому пути, то придется долго докладывать Кобанычу, что ты все еще борешься с трудностями а не решаешь бизнес задачу.
Ответы: >>2246833
Аноним 2021/12/24 11:50:43  №2246833 143
>>2246831
Уже экотика у меня от вас началась...
Аноним 2021/12/24 15:00:57  №2247003 144

А почему асинхроный жс норм,а пхп изврат?
Аноним 2021/12/24 15:26:14  №2247029 145
>>2246581

Ты пишешь ерунду. Такие же утечки могут быть (и бывают) в приложении на Ноде или Питоне. Только в отличие от Ноды или Питона, в PHP у тебя есть выбор - отсутствие утечек и перезапуск скрипта на каждый запрос или более высокая производительность, но требующая более высокого качества кода.

Возможность есть, хочешь - пользуйся, не хочешь - не пользуйся. Тебе просто хочется что-нибудь плохое написать про PHP, но так как ты не разбираешься в предмете, то начинаешь придумывать субъективные причины уровня "мне цвет логотипа не нравится".

> пример нодовского экспесса, где сел и поехал

Раз уж мы перешли на субъективные оценки, то твой Express это детская игрушка в сравнении с тем же роутером в Симфони, который поддерживает и YAML-конфиги и аннотации в отличие от Express в котором ты руками каждый коллбек прописываешь.

Аналогично, популярные шаблонизаторы в JS тоже примитивные в сравнении с тем же Twig.
Ответы: >>2247180
Аноним 2021/12/24 15:33:55  №2247043 146
>>2246787

Ну и бред. Перечитай свой пост. Ты пишешь: если мы будем "хранить данные в глобальном объекте" в PHP, то память будет тратиться. Также, данные надо куда-то сохранять. Поэтому PHP якобы непригоден (?) для работы из CLI.

А что, в Питоне и JS это работает как-то по-другому? Данные можно хранить в памяти, и при этом память не тратится и магическим образом сама куда-то сохраняется?

Ты же пишешь ерунду полнейшую.

>>2246790

Неправда. Не скажу за любую ORM, но в той же Доктрине есть метод clear(), например. Успешно используется и ничего никуда не утекает.

>>2246805

Если ты неграмотный, то для тебя все, что сложнее чем нажать кнопку на экране, будет "нетривиальным".
Ответы: >>2247101 >>2247107
Аноним 2021/12/24 17:13:57  №2247101 147
>>2247043
Ты читаешь жопой. Я не сказал что память будет течь из-за того что ты данные глобально хранишь. Я сказал, что предположим у тебя есть причина использования php через cli. Ты хочешь сохранить данные между запросами. Из-за того, что библиотеки не приспособлены для таких условий, у тебя будет течь память и тебе придется перезагружать скрипт и сохранять свои глобальные данные вне скрипта, как это было при работе через cgi.
Ответы: >>2247232
Аноним 2021/12/24 17:23:19  №2247107 148
>>2247043
Ты сам пробовал писать на пхп скрипты, которые месяцы живут без перезапуска, при этом интенсивно ворочают данными?
Ответы: >>2247156
Аноним 2021/12/24 17:53:54  №2247119 149
Сколько работал на пыхе в разных галерах, все время у пыхеров такая ситуация: прибегает менеджер
- Пиздец, пиздец!!! У клиентов письма не приходят!!! У клиентов статистики нет!!! У клиентов новых парсингов нет!! Проверяй, Сычов, скорее!!!
Сычев:
- Ой там очередь упала.
- Чини быстрее!!!
- Но сейчас же конец рабочего дня, пятница...
- Меня не ебет! Ты ЭТО писал, Сычов.
Ответы: >>2247121 >>2247126
Аноним 2021/12/24 18:00:44  №2247121 150
>>2247119
Сейчас не на пыхе работаешь?
Ответы: >>2247125
Аноним 2021/12/24 18:04:18  №2247125 151
>>2247121
Не на пыхе, но не потому что пыху не люблю или дальше использовать не собираюсь. Хочу опыта больше иметь с разными технологиями.
Ответы: >>2247133
Аноним 2021/12/24 18:05:55  №2247126 152
>>2247119
Если что-то внезапно падает это признак говнокода. Поделом говнокодеру - пускай пашет все выходные, раз нормально писать не умеет. В следующий раз может поумнее.
Ответы: >>2247146
Аноним 2021/12/24 18:10:45  №2247133 153
>>2247125
на чем работаешь если не секрет?
Ответы: >>2247137
Аноним 2021/12/24 18:14:10  №2247137 154
Ответы: >>2247180
Аноним 2021/12/24 18:23:03  №2247146 155
>>2247126
Тот анон ушел дрисню на ноде писать, так что вряд ли он когда-нибудь поумнеет. )
Ответы: >>2247150
Аноним 2021/12/24 18:25:39  №2247150 156
>>2247146
Мне тоже дрисню на ноде ванильный жс присать приходилось как-то. Экспресс, вебсокеты и прочая хрень. На пхп код гораздо приятнее выглядит, и понятно почему ТС набирает обороты.
Аноним 2021/12/24 18:34:29  №2247156 157
>>2247107
Делал кучу постоянно работающих скриптов на пхп, но они работали как кронжобы с стейтом в дб. Крон от минуты, но можно много процессов пускать каждую минуту как раз.
Процесс, работающий месяцами это тупость, даже если он не течет. Мало ли что случится.
Ответы: >>2247164
Аноним 2021/12/24 18:40:23  №2247163 158
Если БД всегда узкоее место в перфомансе,то как его оптимизуруют при хайлоаде?
Ответы: >>2247228 >>2247474
Аноним 2021/12/24 18:41:51  №2247164 159
>>2247156
У nginx на проде часто перезапускается? Почему он такой тупой - не хочет пререзапускаться!
Ответы: >>2247173
Аноним 2021/12/24 18:49:42  №2247173 160
>>2247164
Воркеры постоянно тасуются, как и следует. Что там делает мастер я хз, но соменваюсь, что он годами висит без перезапуска.
Ответы: >>2247175
Аноним 2021/12/24 18:51:25  №2247175 161
>>2247173
Ты нжинкс с апачем не путай. Нжинкс как нода на ивентлупе работает.
Ответы: >>2247181
Аноним 2021/12/24 18:57:24  №2247180 162
>>2247029
>и YAML-конфиги и аннотации
Хотя если быть правдивым давно пора от них отказаться и переходить на атрибуты, ямли это очень старый подход к роутингу или как описание для сущностей, аннотации чуть моложе, но всё равно костыль какой то.

>>2247137
>Хочу опыта больше иметь с разными технологиями.
>нода
ПХП макаки ничего сложнее жабаскрипта или пэхапе не в состоянии обуздать? Нахуя нам после пыхи Шарп В решётку вообще на изи перекатиться т.к пыха много ООП плюшек переняла у джавы как и шарп, ГО, раст или же любой ЯП со строгой типизацией?! Неее мы не хотим расти как погремисты, всё что мы хотим это писать говнокод не понимаючи как он работает...
Ответы: >>2247195 >>2247232
Аноним 2021/12/24 18:59:08  №2247181 163
>>2247175
Т.е. у нжинкса один процесс, который всё делает? Это что-то новенькое.
Ответы: >>2247188
Аноним 2021/12/24 19:07:51  №2247188 164
>>2247181
Мастер процесс постоянно живет, я выиграл
Ответы: >>2247189
Аноним 2021/12/24 19:09:27  №2247189 165
>>2247188
Мне просто лень искать про его перезапуски, гуляй пока.
Аноним 2021/12/24 19:16:06  №2247195 166
>>2247180
>ничего сложнее жабаскрипта или пэхапе не в состоянии обуздать?
Что необходимо по работе - то и изучается. Никому в голову не придёт дрочить левый язык на выходных радо того, чтобы тебе что-то там доказать, мань.
Пыха вообще язык не для дроча и показухи всем - кокой ты у мамы погроммист, а для работы. И остальные подходы дальше такие же идут.
Аноним 2021/12/24 20:04:22  №2247228 167
>>2247163

- выделяют серверу БД много памяти (десятки-сотни гигабайт), чтобы данные были в ней и не надо было лезть на диск, а также хорошие быстрые SSD, и много ядер CPU
- используют кеширование часто используемых данных. Выделяют много памяти и серверов под кеши.
- оптимизируют запросы, чтобы их было меньше и они быстрее выполнялись. Запрещаются любые запросы дольше нескольких мс. Собираются метрики и статистика, проблемные места выявляются и исправляются.
- если идет много чтения и не очень много записи, то можно применить репликацию - сделать один ведущий сервер и несколько ведомых, которые копируют данные с ведущего. Запись ведется на ведущий сервер, а чтение с ведомых. Так как их несколько, то нагрузка равномерно распределяется по ним.
- далее можно попробовать разнести базу данных на несколько частей и одни таблицы поместить на один сервер (при необходимости с репликами), а другие - на другой
- если и этого не хватает, то придется делать сложную операцию - шардинг. В этом случае создается много серверов БД и на каждом из них хранится часть данных. Например, пользователи 1-1000 и их данные хранятся на сервере 1, пользователи 1001-2000 на сервере 2 и тд. Сложных моментов тут два: надо переделывать приложение на поддержку такой схемы работы и надо реализовать балансировку: распределить данные так, чтобы нагрузка была равномерной. То есть не на каждый сервер положить по 1000 пользователей, а например на один - 500, но активных, на другой - 5000, но малоактивных.
Аноним 2021/12/24 20:09:04  №2247232 168
>>2247101

Вот, ты уже вместо "php не приспособлен" пишешь "библиотеки не приспособлены". Давай уточнять дальше - не все библиотеки не приспособлены, а какие-то отдельные. Мог бы сразу писать какие именно, а не ходить вокруг да около.

Опять же, нет гарантий что в Питоне или Ноде не окажется такой же проблемной библиотеки. И, кстати, если библиотеки опенсурсные, то можно просто исправить их.

>>2247180

YAML имеет тот плюс, что ты можешь просмотреть все роуты в одном месте и увидеть какие-то конфликты, что с аннотациями затруднено.

Ответы: >>2249887
Аноним 2021/12/25 10:15:53  №2247474 169
бублик.jpg (14, 610x396)
396x610
>>2247163
Хочешь универсальных советов ты ?
Их есть у меня!
Аноним 2021/12/25 15:20:20  №2247757 170
broad.jpg (961, 1805x2700)
2700x1805
Посоветуйте бесплатных хостингов. Желательно что бы там можно было коспозер запустить и слим
Ответы: >>2247767 >>2247794 >>2247797
Аноним 2021/12/25 15:27:28  №2247767 171
>>2247757
Бесплатный хостинг это что-то из нулевых.
Сейчас есть хостинг за копейки, есть впс за копейки.
Аноним 2021/12/25 15:44:47  №2247794 172
>>2247757
Несколько лет назад на хероку была халява. Скорее всего и сейчас есть.
Аноним 2021/12/25 15:46:53  №2247797 173
Аноним 2021/12/25 15:54:47  №2247804 174
image.png (41, 875x233)
233x875
Чому так? Я хочу обмазываться енумами и атрибутами!
Аноним 2021/12/25 19:32:54  №2247978 175
Борда на симфони приличный пет-проект?
Ответы: >>2247987
Аноним 2021/12/25 19:42:35  №2247987 176
>>2247978
Да хотя это из пушки по воробьям, мне кажется для таких проектов лучше лара, но в учебных целях почему бы и нет
Ответы: >>2248263
Аноним 2021/12/26 09:17:39  №2248263 177
>>2247987
>для таких проектов лучше лара
Даже Лара слишком большая для такого - как-то писал для обучения и получилась несколько нелепая монструозная хрень с минимальным кодом. Ведь борда это обычная гостевуха + парсер постов для расстановки тегов и фильрации. Больше возни будет с админками\модерками, чем с основным функционалом.
Имхо лучше взять Слим и на его базе строить приложение, причём полезно продумать сборку в кэш уже готовых страниц и редактировать их только при добавлении постов, а вся эта хрень с Элоквентом и динамической сборкой для борды будет слишком медленно и в целом там самих моделей довольно мало получится.
Ответы: >>2248290 >>2248524
Аноним 2021/12/26 10:04:29  №2248290 178
>>2248263
Есть гайд создания борды?
Ответы: >>2248712
Аноним 2021/12/26 14:10:10  №2248524 179
>>2248263
Но это по сути велосипед будет с говнокодом
Ответы: >>2248712
Аноним 2021/12/26 16:42:14  №2248712 180
>>2248290
Да есть:
1. Качаешь движок
2. Ставишь на хостинг
3. Профит

Если сам хочешь написать, то тебе гайды не нужны.

>>2248524
Почему?
Ответы: >>2248722 >>2248817
Аноним 2021/12/26 16:52:18  №2248722 181
>>2248712
Вы же сами тут пропагандируете ставить лару и не писать велосипед из говнокода
Ответы: >>2248731
Аноним 2021/12/26 17:01:52  №2248731 182
>>2248722
С каких пор сборка своего фреймворка на базе Слима и необходимых композер-пакетов под задачу является велосипедом? Ты кроме Лары знаешь ещё что-то?
Ответы: >>2248751
Аноним 2021/12/26 17:18:44  №2248751 183
Аноним 2021/12/26 18:21:05  №2248817 184
Ответы: >>2249031
Аноним 2021/12/27 04:10:26  №2249031 185
>>2248817
Этой штуке лет пять. Если повезет и все поднимется...

Смотри, анон, если твоя цель сделать борду - да, это норм гайд. Если же ты хочешь программировать, учиться, решать задачи - выкинь это все и начинай делать сам. Все готовые гайды от А до Я - ересь.
Аноним 2021/12/27 14:51:02  №2249584 186
16383663116602.jpg (45, 1280x685)
685x1280
Когда-то вкатывался в кодинг на ларе, но работал я на симфони в итоге.
Сейчас посмотрел лару, бля, это пиздец какой-то, а не фреймворк. Одни синглтоны с уебанскими статическими методами, в елоквент-модели свойства в виде массива, мало пользуются аттрибутами.

Как бы симфони лучшим фреймворком в общем, так и остался.
Ответы: >>2249662
Аноним 2021/12/27 15:42:31  №2249657 187
Передавать массив данных на сервер это норм практика?
Ну типа массив всех чисел,которые я накликал
Ответы: >>2249674
Аноним 2021/12/27 15:44:23  №2249662 188
>>2249584
>в елоквент-модели свойства в виде массива, мало пользуются аттрибутами
Это да, это прям позорище. Предлагаю выпилить массивы из ПХП.
Аноним 2021/12/27 15:50:06  №2249674 189
>>2249657
Нет. Сервер не для твоих чисел писали.
Аноним 2021/12/27 19:34:04  №2249887 190
>>2247232
>что с аннотациями затруднено.
кем блять затруднено? debug:route для кого зделоли?
Аноним 2021/12/27 21:58:16  №2249977 191
image.png (211, 1920x1080)
1080x1920
А работа тем временем пошла. Скоро моя мелкопараша будет главным соперником, пусть абу боится.
Ответы: >>2250030
Аноним 2021/12/27 23:58:36  №2250030 192
>>2249977
Ты не выёбывайся, а пиши. Пока что смотреть не на что - любой движок больше твоего умеет.
Помню какой-то анон в одном разрделе на свою борду приглашал, а там у него была Симфони, вебмы, ещё 1000 чертей. Вот это вызывает респект.
Аноним 2021/12/28 10:29:09  №2250319 193
Чому так?
$var = array(null);
var_dump(empty($var)); //false
var_dump(isset($var)); //true
Ответы: >>2250324 >>2250910 >>2251983
Аноним 2021/12/28 10:33:34  №2250324 194
Аноним 2021/12/28 14:14:25  №2250530 195
Анончики, учил джаву. Сгорела нахуй жопа. Я не понимаю нахуй она нужна вообще, какие-то банки, галеры - нахуй мне это? Никакого интереса.. Спринг еще уебищный этот, залупа цветочная, все гайды это хелловорды и все все знают но откуда не ясно. Задачи какие-то душные и 1000 методов для стринга. Нахуй нахуй..

Можно к вам перекатиться?
Хтмл+ цсс учил года 3 назад, sql тоже..
Если начну с пхп успею до июня вкатиться и трудоустроиться. А то контракт закончится на сисадмине, а профессия эта поднадоела.
Аноним 2021/12/28 14:45:10  №2250595 196
>>2250530
Нельзя, я запрещаю вам перекатываться к нам.
Видел тебя в нюфаготреде или жс треде. Оставил идею вката во фронт? Ну и правильно. В пхп легче вкатиться
Ответы: >>2250701
Аноним 2021/12/28 15:36:13  №2250659 197
>>2250530
>>нихачу нибуду
В лучшем случае пополнишь ряды битриксоебов с такой-то мотивацией.
Аноним 2021/12/28 16:31:34  №2250701 198
>>2250595
Почему? К дизайну требования высокие?
Ответы: >>2250906
Аноним 2021/12/28 16:48:41  №2250716 199
leto.jpg (63, 640x427)
427x640
Посоны, пользавался кто нибудь гугл клауд? Там ограничение на 100 дней? А я не понял насчет длительности.
Ответы: >>2250743
Аноним 2021/12/28 17:16:50  №2250743 200
Ответы: >>2250776
Аноним 2021/12/28 17:22:45  №2250749 201
Посоны, вопрос по файрволу симфы. Нужно ли экранировать точку?

doc:
pattern: ^/api/(doc.json|doc)$
security: false
Ответы: >>2250763 >>2250917
Аноним 2021/12/28 17:35:01  №2250763 202
>>2250749
Выглядит как регулярка, так что надо.
Попробуй подставить что-то вместо точки, сработает ли.
Ответы: >>2250780
Аноним 2021/12/28 17:40:22  №2250776 203
>>2250743
Там нет ограничения по времени? Я пытался там регаться написало что ошибка и хуй его знает что за ошибка
Аноним 2021/12/28 17:40:51  №2250780 204
>>2250763
Не совсем регулярка, так как слеши не нужно экранировать.
Ответы: >>2250784
Аноним 2021/12/28 17:43:37  №2250784 205
Аноним 2021/12/28 20:54:49  №2250906 206
>>2250701
Да, и конкуренция больше
Аноним 2021/12/28 20:58:57  №2250907 207
>>2241613 (OP)
как вывести число повторов цикла сука у меня бомбит нахуй
Ответы: >>2250919
Аноним 2021/12/28 21:12:36  №2250910 208
>>2250319

В программировании ты должен полагаться не на интуицию ("это значение выглядит пустым"), а на определения из документации (какие значения считаются пустыми).

Вот, что написано в мануале про empty: https://www.php.net/manual/ru/function.empty.php

> Возвращает false, если var существует и содержит непустое ... значение...

Соответственно, true возвращается, если переменная не существует либо она содержит "пустое" (falsey) значение.

Что такое "пустое значение"? Это описано тут: https://www.php.net/manual/ru/language.types.boolean.php#language.types.boolean.casting

> При преобразовании в bool, следующие значения рассматриваются как false:

> само значение boolean false
> integer 0 (ноль)
> float 0.0 (ноль) и -0.0 (минус ноль)
> пустая строка, и строка "0"
> массив без элементов
> особый тип NULL (включая неустановленные переменные)
> объекты SimpleXML, созданные из пустых элементов без атрибутов, то есть элементов, не имеющих ни дочерних элементов, ни атрибутов.

Твой массив [null] не подпадает под определение "пустого" значения, так как он непустой - в нем есть один элемент. Следовательно, empty возвращает false.

Что касается isset, то с ним еще проще: он вернет true, если переменная существует и она не равна null. Переменная существует, массив с одним элементом [null] не равен null, потому isset вернет true.
Аноним 2021/12/28 21:25:04  №2250917 209
>>2250530

Зря ты так. Java - мощный язык с богатыми возможностями, хотя и несколько многословный. Ты наверно просто не разобрался в нем глубоко, а просто скачешь по верхам, и оттого все тебе кажется сложным и непонятным.

А ведь вместо негодования ты бы мог извлечь из изучения Java полезные знания и навыки, паттерны, которые можно применять и в других языках.

Кстати, PHP многим похож на Java (что касается ООП).

>>2250749

Да. Учти, что конфиг использует синтаксис YAML, потому тебе нужно также изучить виды строк в YAML и как в них экранируются символы. Возможно, что чтобы вписать в регулярку слеш, придется поставить два слеша. А возможно, что нет.

Ответы: >>2250970
Аноним 2021/12/28 21:26:00  №2250919 210
>>2250907

Сделай переменную, и каждый раз в цикле увеличивай ее на 1. После завершения цикла в ней будет искомое значение.
Ответы: >>2250920
Аноним 2021/12/28 21:26:55  №2250920 211
Аноним 2021/12/28 21:55:19  №2250929 212
Можно ли за недельку синтаксис вашей хуйни выучить и вкатиться куда-нибудь грести? Знаю питон и руби, есть по проекту на каждом языке в гите типа блога, на руби вакух 0, на питоне что-то есть но мне не особо подходит а на пхп хоть жопой жри.
Ответы: >>2250969
Аноним 2021/12/28 23:34:41  №2250969 213
>>2250929
Дай угадаю: питон и руби так же по недельке учил, да? А проекты твои это туториалы для нубов.
Иди куда-нибудь нахуй лучше.
Ответы: >>2250971
Аноним 2021/12/28 23:47:59  №2250970 214
>>2250917
У меня с ооп нет проблем. Я и с рекурсией и рефлексией и с коллекциями разобрался вполне себе легко. У меня проблема строго в спринге.
Да и то в голове больше. Я подумал что не хочу банками заниматься и прочей этой залупой, я хочу что-то ламповое. Работа занимает треть жизни и должна быть в радость.

Знания языка у меня ок, собесы легко проходил пока речь спринга не касалась. Я знаю что это для чего это и как устроено но просто не могу применить. Я привык читать литературу, смотреть видосики, внедрять новое к себе в проектик. А тут 10000 примеров и все хеловорды и туду листы.

Может это и отговорки слабака, не знаю.

Но изначально не было мыслей джавой заниматься, я хотел веб макакич, уж очень я сайтики люблю и сервисы всякие.
Ответы: >>2251983 >>2252105 >>2252105
Аноним 2021/12/28 23:49:23  №2250971 215
>>2250969
Я работал Django разрабом несколько месяцев, сам питон учил пол года где-то, руби, да недели 2-3 учил и запилил круд.
Аноним 2021/12/28 23:50:40  №2250973 216
>>2250530
не, я не обсуждал это нигде. В жс не пытался даже смотреть. мне сказали джава ок, а как и почему не сказали. как и что я буду делать.

Вот работаю я сисадмином, тут все ультрапросто. Первые пару месяцев что-то новое, а дальше только рост зп, а я живу не деньгами, а временем потраченым, мне хочется большего и видеть результат своей работы.
Аноним 2021/12/28 23:52:38  №2250974 217
Аноны, смотрите. Назрел вопрос о актуальности фронта в лице хтмл цсс и жс с фреймворками. И вот. Появились эти все тильды хуильды. Все мелкоконторы их используют и магазинчики. Не вытеснит ли это говно кодинг? С другой стороны укоз же не вытеснил...

Я нюфаня в этой теме, разъебите пожалуйста по фактам и докажите важность знаний.
Ответы: >>2250975 >>2251434 >>2251945
Аноним 2021/12/29 00:07:35  №2250975 218
>>2250974
Это вытеснило автономный местечковый макакинг образца нулевых-раннедесятых, хотя там давно уже потоптались соцсети. В глобальном плане ничего не меняет.
Ответы: >>2250978
Аноним 2021/12/29 00:19:41  №2250978 219
>>2250975
Короче я понял. Надо вкатываться. Какие подводные вообще есть в плане литературы или получения инфы/ поиска первой работы? в июле /июне хочу уже трудоустроиться
Ответы: >>2250980
Аноним 2021/12/29 00:22:11  №2250980 220
>>2250978
Открыл вакансии - их тупо 4 штуки на весь минск
Ответы: >>2251336
Аноним 2021/12/29 11:02:28  №2251336 221
>>2250980
Сайт на тильде делает дочка кабанчика, а админ_1с_катрижд_поменяй холоп переделывает
Аноним 2021/12/29 12:00:45  №2251434 222
>>2250974
Что за тильда, это что-то типа битрикса? Я правда не знаю, что и битрикс из себя представляет и как на нем делают сайты.
Аноним 2021/12/29 16:10:46  №2251742 223
Есть хорошая книга по пхп не для новичков, а тех кто с других языков перекатывается? Не хочу брать очередную книжку, которая будет меня хеллоу ворлд учить писать и ооп на животных и собачках объяснять.
Ответы: >>2251771
Аноним 2021/12/29 16:40:11  №2251771 224
>>2251742
Есть - документация называется. Расположена по адресу php.net и, между прочим, является одним из лучших примеров как надо делать документацию.
Аноним 2021/12/29 16:43:11  №2251773 225
>>2251771
Особенно каменты, бодрит жопу похлеще каментов на ютубе.
Ответы: >>2251775
Аноним 2021/12/29 16:47:25  №2251775 226
>>2251773
>каменты
Это которые под самой статьёй документации? Это не комменты, а советы и лайфхаки от других разрабов. Годнейшая вещь на самом деле - много полезного и интересного подсмотреть можно. Больше нигде такой системы не видел.
Ответы: >>2251779
Аноним 2021/12/29 16:50:53  №2251779 227
>>2251775
Ебанутые велосипеды и лойфхоки от индусов двадцатилетней давности, очень полезно, да.
Вообще, документация пхп это вечный памятник его хуевому начальному дизайну, с мильйоном упоротых функций с рандомными названиями.
Ответы: >>2251781 >>2251946
Аноним 2021/12/29 16:54:23  №2251781 228
>>2251779
У тебя песок в вагину забился. Вытряхни.
Ответы: >>2251785
Аноним 2021/12/29 16:58:53  №2251785 229
>>2251781
Кисо обиделось.
Надо радоваться, что сейчас хорошо пилят, а не гореть по поводу тяжелого детства, это факт.
Аноним 2021/12/29 17:52:20  №2251802 230
>>2251771
У питона лучше офоормлено
Ответы: >>2251810 >>2251947
Аноним 2021/12/29 17:55:38  №2251805 231
Выучил js - забыл верстку, выучил ruby - забыл js и так по кругу.
Это нормально вообще, что не могу выучить наизусть весь стек технологий и могу что-то делать только подглядывая в документацию?
Ответы: >>2251806 >>2251947
Аноним 2021/12/29 18:01:28  №2251806 232
>>2251805
Ты не практикуешь, вот и забываешь. А гуглить и смотреть в документацию по необходимости это норм.
Аноним 2021/12/29 18:05:58  №2251810 233
>>2251802
Русская версия есть?
Ответы: >>2251813
Аноним 2021/12/29 18:08:24  №2251813 234
>>2251810
Ты пограмист или кто? Какой русский язык вообще.
Ответы: >>2251815
Аноним 2021/12/29 18:08:54  №2251814 235
Как переменную отправить на фронт?
Ответы: >>2251816
Аноним 2021/12/29 18:09:57  №2251815 236
>>2251813
Значит хуже. Чем удобнее и всеохватнее документация - тем лучше с точки зрения языка для которого она пилиться.
Что там должен и не должен знать программист - тема отдельного холивара.
Аноним 2021/12/29 18:13:38  №2251816 237
>>2251814
Сделать запрос с фронта на бек.
Аноним 2021/12/29 22:04:14  №2251917 238
Аноним 2021/12/29 22:17:01  №2251920 239
Это нормально, что я буквально 2 года назад блевал от синтаксиса пхп и не хотел на нем даже хелоу ворлд писать и боготворил питон, но щас я блюю от питона, а пхп ниче такой, это я повзрослел-полюбил или говноедом стал?
Ответы: >>2251925
Аноним 2021/12/29 22:35:03  №2251925 240
>>2251920
У пхп не особо противный синтаксис, мне кажется си-подобность сильно упрощает жизнь. Еще у пхп адекватные скобочки по пср, сишарповые или гошные хуйня какая-то, в си тоже говно
Аноним 2021/12/29 23:51:15  №2251945 241
>>2250974

Попробуй подумать логически. Допустим, кто-то хочет сделать сайт. Он может взять готовую CMS или сервис по созданию сайтов и создать сайт в нем без привлечения дизайнера или программиста. Но как только ему захочется нестандартное и уникальное оформление, тут нужен дизайнер и верстальщик, чтобы реализовать этот дизайн. А как только нужна нестандартная логика, нужен программист.

У разных заказчиков разные бюджеты и разные потребности.

Ты же почему-то не видишь большой картины, а думаешь, что рынок ограничен конструкторами сайтов. А так да, если ты можешь сделать только то, что можно сделать на конструкторе, то ты не очень-то вписываешься в рынок. Конструктор, в отличие от тебя, есть не просит и работает 24 часа в сутки.

Что касается магазинов, то шаблонные решения годятся лишь для маленьких магазинов или для офлайн-магазинов, для которых интернет не основной канал, а просто способ немного увеличить продажи. Если у тебя идет большой объем продаж через интернет, то без дизайнеров и программистов не обойтись:

- ты не хочешь дешевый шаблон, который встречается еще на куче сайтов, а хочешь фирменный стиль
- тебе нужны кастомные рассылки с красивыми картинками и аналитикой
- тебя не устраивает форма чекаута на 7 экранов, ты хочешь оптимизировать процесс покупки
- тебя не устраивает, что каждый товар надо отдельно открывать и редактировать, тебе нужны инструменты массовой модификации
- тебе нужны кастомные программы лояльности с заданными тобой правилами
- тебе нужны интеграции с платежными системами и службами доставки
- тебе нужна слежка за покупателями и аналитика
- тебе нужно отслеживание финансовых потоков
- тебе нужна интеграция с колл-центром

И так далее. Посмотри на крупные магазины вроде OZON - разве они сделаны на шаблонном сайте?

Аноним 2021/12/29 23:57:03  №2251946 242
>>2251779

> с мильйоном упоротых функций с рандомными названиями.

Большинство названий идет от библиотек на Си. Ну нет в Си стандарта именования функций, и сишники, по моему сами не хотят чтобы он был, а хотят каждый быть уникальной снежинкой. У них и менеджера пакетов нет, да даже представления для строк нет.

Ну и PHP тут не одинок, открой, например, популярную библиотеку matplotlib на Питоне и оцени API: два набора функций (глобальное API на функциях и объектно-ориентированное), произвольный стиль именования функций. Вроде set_facecolor. Одно подчеркивание есть, а второго нету.
Аноним 2021/12/30 00:15:25  №2251947 243
>>2251802

Не уверен. У Питона обычно одна страница на один модуль, и функции зачастую очень кратко описаны. А у PHP на каждую функцию или метод отдельная страница.

Также, у PHP описаны типы аргументов и возвращаемого значения, а в Python - нет.

Если уж приводить пример хорошей документации, я бы наверно взял Раст. Там даже примеры кода (которые работают как тесты) есть. Вот пример страницы: https://docs.rs/chrono/0.4.0/chrono/naive/struct.NaiveDateTime.html

Хотя в PHP тоже примеры кода бывают.

>>2251805

Если ты забыл, как называется функция или какие у нее аргументы - то ок. А если ты общие принципы языка забываешь (например, что перед переменными надо ставить var/let/const) или синтаксис, то не очень хорошо.
Аноним 2021/12/30 00:16:53  №2251948 244
>>2245559

Работа за деньги бывает разная. Можно пилить сложную систему на Симфони, можно менять цвет кнопок в шаблоне для CMS. И за то, и за другое платят деньги.

Ты можешь зайти на сайт поиска работы, сделать поиск по желаемому уровню дохода и посмотреть, что там требуется.
Аноним 2021/12/30 05:48:12  №2251983 245
>>2250319
Значением массива является null и по этому массив не пустой, а isset проверяет на наличие переменной.

>>2250530
>Можно к вам перекатиться?
Перекатывайся лучше в шарп, раст или ГО на худой конец.
1. На этих языках можно писать ещё что-то помимо сайтов.
2. Они типизированы и гораздо быстрее пыхи.
3. Будет больше понимания того, что пишешь, а не тупой говнокод сайтиков на фреймворках.
Пусть лучше жопа горит сильно сейчас, но от этих языков профита в разы больше чем от пэхапэ.

>>2250970
>У меня с ооп нет проблем
Тем более, шарп очень много перенял у жавы, да и писать на нём одно удовольствие.

>>2251771
>является одним из лучших примеров как надо делать документацию
Удвоил, сук попросту нет ничего похожего, чтобы коротко и по делу.
Аноним 2021/12/30 08:29:15  №2252080 246
image.png (79, 870x632)
632x870
>>2251771
>php.net

Я чет не пынял, 7 и 8 версия языка параллельно существуют? Что за ребус?

мимо интересно
Ответы: >>2252082 >>2252312
Аноним 2021/12/30 08:31:37  №2252082 247
>>2252080
Что интересного? Не для петов же версии пилят.
Ответы: >>2252104
Аноним 2021/12/30 08:44:27  №2252104 248
>>2252082
Интересно, что за система у них? Вроде бы всегда идет по порядку, а тут вчера обнова 8.10, сегодня 7.228, завтра 8.0.12. Че за?
Ответы: >>2252144 >>2252321
Аноним 2021/12/30 08:44:39  №2252105 249
>>2250530
Можешь попробовать перекатиться в дотнет и шарп, но один хуй там у тебя будут галеры и вместо спринга ASP.NET.

>>2250970
>Я подумал что не хочу банками заниматься и прочей этой залупой, я хочу что-то ламповое

А что есть ламповое на современном рынке? Геймдев? Эмбеддед? Сомневаюсь в их ламповости. В энтерпрайзе ты работаешь в огромной конторе, которая финансируется за счет нефтяных денег и ей управляют друзья Путина, тот же Сбер, ВТБ и всякое подобное. В мелких конторах ты работаешь на какого-нибудь ИП Ашот. И в первом случае тебя ебут в жопу эффективные менеджеры и сотни каких-то руководителей хуй пойми зачем нужных, во втором случае тебя ебет лично кабан кабаныч или заказчики.

>Работа занимает треть жизни и должна быть в радость
Работа в радость это очень большая редкость. Рано или поздно все заебет. Поэтому лучше относись к работе просто как к способу заработка денег, причем не самого приятного, так жить будет гораздо проще.

>>2250970
>Я знаю что это для чего это и как устроено но просто не могу применить.
Значит нужно просто больше практики со спрингом. Фреймворк поистине огромный, тяжелый и содержит много магии под капотом, но что поделать. Попробуй написать какой-нибудь клон авито для начала. Или систему для управления каким-нибудь выдуманным заводом. В общем главное больше практиковаться, тогда и начнет получаться.
Боюсь, что при написании бекенда на той же ноде или пхп у тебя возникнут аналогичные проблемы.




Ответы: >>2252114
Аноним 2021/12/30 08:50:53  №2252114 250
16399703948630.jpg (37, 720x720)
720x720
>>2252105
> бекенда на той же ноде
Аноним 2021/12/30 09:25:39  №2252144 251
>>2252104
7 версия пыхи до сих пор актуальна и выпускают минорные обновления. Что непонятного?
Ответы: >>2252164 >>2252191
Аноним 2021/12/30 10:26:47  №2252164 252
>>2252144
Зачем поддерживать несколько актуальных версий вместо одной? Почему все не могут перекатиться на 8 версию?
Почему сначала идет пост 8.1.0 released, а затем 8.0.14 released?
Ответы: >>2252169
Аноним 2021/12/30 10:35:39  №2252169 253
>>2252164
Потому что в новых версиях есть breaking changes Кто то с 5.6 может перекатиться на 7, но не на 8. Не все захотят копаться в говне унаследованном из 5.6 ради переката на 8
Аноним 2021/12/30 10:59:25  №2252191 254
>>2252144
Разве? Вроде только для 7.4 фиксы безопасности выпускают.
Аноним 2021/12/30 13:27:53  №2252312 255
>>2252080

Если ты посмотришь, то там приписка: This is a bug fix release.

Видимо, разработчики исправили баги в версии 8 и заодно внесли исправления в версию 7 для тех пользователей, кто не обновился до 8-й версии.

Если у тебя проектик из 5 скриптов, то конечно обновиться не проблема, а если у тебя система из кучи сервисов с сотнями тысяч строк кода, то обновление, тестирование, миграция занимают значительное время и так просто их не сделать. PHP дает возможность таким проектам получать исправления багов и не вынуждает их бросить все и заниматься обновлением.
Аноним 2021/12/30 13:34:29  №2252321 256
>>2252104

8.0 и 8.1 это как бы разные ветки, и обновляются независимо. Но опять же, я думаю, что новые фичи добавляются только в последнюю версию, а предыдущие версии получают только багфиксы и исправления безопасности.

Вот тут ты можешь увидеть правила релизов и какие версии поддерживаются сейчас: https://www.php.net/supported-versions.php

Аноним 2021/12/30 13:45:18  №2252331 257
Какой пет запилить на ларавеле, чтоб на собсесе сказали, маладца?! только не блог/магазин/борду/стокмаркет и тд, что-то оригинальнее.
Ответы: >>2252360 >>2252391
Аноним 2021/12/30 14:25:07  №2252360 258
Аноним 2021/12/30 15:00:12  №2252391 259
>>2252331
Нет смысла пилить что-то большое т.к один хуй посмотрят 3 класса максимум и этого будет с головой достаточно.
Запили CRUD по REST API с парочкой связанных сущностей.
Ответы: >>2254168
Аноним 2021/12/31 20:22:38  №2253351 260
Фарту и масти всем анонам ИТТ в новом году!
Аноним 2022/01/01 10:51:48  №2253646 261
Сап аноны.

Новичок из дна треда отправили к вам, сюда за вопросами:

Хочу вкатиться в битрикс, какие подводные? Вижу у себя в мухосрани дохуя вакансий с php+битрикс за условные 30к (лапшу с маслом)
Ответы: >>2253649 >>2253866 >>2253972
Аноним 2022/01/01 11:00:57  №2253649 262
>>2253646
Дваждую вопрос, это походу моя стезя.
Аноним 2022/01/01 17:46:48  №2253866 263
>>2253646
Берешь первый попавшийся курс по битриксу, чтобы на примере какого проекта объясняли типа магазина, начиная от установки и заканчивая деплоем, смотришь уроки, пытаешься вникнуть во все сказанное и пишешь код копируя этот проект, потом грузишь его на свой гит и можешь идти искать работу, там уже на месте разбираться будешь, если не тупой то все нормально будет. Все это конечно при условии, что ты php/html/css уже знаешь.
Аноним 2022/01/01 20:53:48  №2253972 264
>>2253646
>какие подводные?
Битрикс
Ты будешь на задворках остального мира разработки, будешь знать немного пхп, как верстать и писать лапшу на жиквери, короче вебмастер из нулевых. Ну и с инженерной точки зрения это говнище полное, ты можешь взять книги по архитектуре и патернам и смело начать растапливать ими печку, теперь ты будешь писать говно даже если ты этого не хочешь, а по другому иной раз никак. Но на хлеб с маслом пальмовым наверное заработаешь
Аноним 2022/01/01 22:31:03  №2254029 265
КАК ЗАСТАВИТЬ ЭТОТ ЕБУЧИЙ КОД В ЗАДАЧЕ ПРО АЙФОН ОСТАНОВИТЬСЯ!!! ОСТАНОВИСЬ, СУКА! ОСТАНОВИСЬ! ТЫ УЖЕ ВЫСЧИТАЛ ТО, ЧТО НАДО БЫЛО, ХУЛИ ТЫ ДАЛЬШЕ ИДЕШЬ АААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА
Ответы: >>2254030
Аноним 2022/01/01 22:31:28  №2254030 266
>>2254029
>ЕБУЧИЙ КОД
ЕБУЧИЙ ЦИКЛ! ЕБУЧИЙ!
Ответы: >>2254034 >>2254035
Аноним 2022/01/01 22:41:00  №2254034 267
>>2254030
Все! Получилось! Ура! Спасибо, уважаемые аноны за то, что выслушали меня.
Аноним 2022/01/01 22:42:23  №2254035 268
>>2254030
Все! Получилось! Ура! Спасибо, уважаемые аноны, (ЗАПЯТУЮ КАК ПОСЛЕДНИЙ ДОЛБОЕБ ЗАБЫЛ) за то, что выслушали меня.

Реализовал я код, конечно, как последний долбоеб и ебанат. Такой убогой структуры кода я еще нигде и никогда не видел.
Ответы: >>2254038
Аноним 2022/01/01 22:48:37  №2254038 269
>>2254035
Не, ну вы просто гляньте на лаконичный, красивый и стройный код на скрине слева и на мое уебанское чудовище на скрине справа. Пиздец. Я в шоке.
Ответы: >>2254039
Аноним 2022/01/01 22:50:13  №2254039 270
1.png (26, 727x398)
398x727
2.png (33, 729x555)
555x729
>>2254038
А я ведь сидел пердел над этим говном час. Ебаный стыд.
Справа - моё.
Ответы: >>2254040
Аноним 2022/01/01 22:53:11  №2254040 271
>>2254039
Стоп, откуда у меня там взялась цифра 4000? Там же должно быть $monthlyPayment. Бляя... Пойду переделывать это дерьмо.
Ответы: >>2254051
Аноним 2022/01/01 23:08:00  №2254051 272
1.png (40, 736x478)
478x736
>>2254040
Все, идите в жопу. Подчистую спиздил код из левого скрина, но меня уже не ебет.

агрошкольник
Аноним 2022/01/02 10:34:10  №2254168 273
>>2252391
Какие требования и вопросы задают джуну на ларе? Нужно ли знать жс?
Аноним 2022/01/02 23:01:39  №2254862 274
Как лучше сделать всякие фичи, типа гринтекста для моей борды - хранить текст в бд, и рендерить на фронте, или сразу отрендеренный вместе со всеми тегами текст, и ничего не делать на фронте?
Ответы: >>2255294
Аноним 2022/01/02 23:21:30  №2254866 275
Есть плагин чата для вордпресса. Авторы утверждают, что поддерживаются вебсокеты. Правда версия с вебсокетами платная, в бесплатной только эйджекс. Мне непонятно как они могли такое реализовать. Ведь любой php процесс умирает после выполнения, что делает невозможным использование вебсокетов из коробки. Можно конечно накостылить цикл и в нем держать всю логику, но тогда непонятно как это будет работать с вордпресс страницами.

https://wordpress.org/plugins/bp-better-messages/
https://www.wordplus.org/downloads/bp-better-messages/
Ответы: >>2255350
Аноним 2022/01/03 16:43:24  №2255294 276
>>2254862
Обычно, введенные пользователем данные хранятся в базе "как есть", а все форматирование, защиты и прочие приколюхи делаются по факту получения и вывода.

В конце-концов, представь себе, что однажды ты захочешь сменить предназначение какого-то тега. Идти и писать миграцию всех постов - не круто.
Аноним 2022/01/03 18:54:56  №2255350 277
>>2254866
Берёшь какой нибудь swoole и хуяришь без задней мысли.
Аноним 2022/01/04 15:09:29  №2255938 278
Много вакансий с yii2.,вкатываться в него?
Ответы: >>2256138
Аноним 2022/01/04 16:38:23  №2256021 279
пост.jpg (20, 421x212)
212x421
массив.jpg (10, 451x139)
139x451
Вот я передаю массив цифр на бек,
а как их поймать?
file_get_contents?
Аноним 2022/01/04 18:25:28  №2256138 280
Аноним 2022/01/04 18:35:04  №2256143 281
>>2256021
>а как их поймать?


Полицию вызови.
Аноним 2022/01/04 19:02:15  №2256151 282
Ответы: >>2256153 >>2256475
Аноним 2022/01/04 19:06:13  №2256153 283
>>2256151
тогда придеться пилить скрытую форму и туда жс вставлять json?
Ответы: >>2256158
Аноним 2022/01/04 19:09:13  №2256158 284
Аноним 2022/01/04 21:33:06  №2256268 285
>>2256021
набери
var_dump($_POST);

дальше разберешься

по-нормальному вроде нужны заголовки и нужно отдавать строго plaintext
Ответы: >>2256454 >>2256472 >>2256535
Аноним 2022/01/05 08:35:10  №2256449 286
>>2241613 (OP)
Хочу разобраться в одном вопросе. Есть сайт на вордпрессе, на дешевом шаред-хостинге. Нужно оптимизировать быстродействие сайта. Изучил методы повышения производительности сайтов на php и вордпрессе в частности, но не знаю как теперь это применить. Не понимаю как конфигурировать php. Локально я могу поставить composer, nginx + php-fpm, установить любые модули, выполнить любые настройки, но как это делать на шаред-хостинге? Там можно выбрать версию php, а больше нет.
Аноним 2022/01/05 08:43:39  №2256454 287
>>2256268
Не разбирусь,дайте готовое решение
Ответы: >>2256462
Аноним 2022/01/05 08:53:40  №2256462 288
>>2256454
Читай про суперглобальные переменные. В них хранятся все данные из поступающих запросов. Извлечь данные из массива думаю сможешь. Если нет, то научись, это не сложно.
Ответы: >>2256468 >>2256473
Аноним 2022/01/05 09:04:04  №2256468 289
>>2256462
Ты сам не очень разобрался, читатель. В $_POST содержатся данные, которые парсятся из тела реквеста при отправке формы.

https://www.php.net/manual/ru/reserved.variables.post.php

Если ты просто в аякс тело засунешь сериализованный жисон то в $_POST будет пусто

Если форма application/x-www-form-urlencoded то в теле запроса передается строка param1=value1&param2=value2
И она как раз парсится пхп в массив $_POST
Ответы: >>2256471 >>2256474
Аноним 2022/01/05 09:11:01  №2256471 290
>>2256468
Где я писал про $_POST?
Ответы: >>2256472
Аноним 2022/01/05 09:13:09  №2256472 291
Ответы: >>2256535
Аноним 2022/01/05 09:13:13  №2256473 292
>>2256462
По классике не работает
Ответы: >>2256535
Аноним 2022/01/05 09:14:11  №2256474 293
>>2256468
Так как отправить и принять запрос?
Ответы: >>2256475
Аноним 2022/01/05 09:15:16  №2256475 294
Ответы: >>2256476
Аноним 2022/01/05 09:16:12  №2256476 295
>>2256475
инпут это если через форму,но у меня нет формы
Ответы: >>2256478
Аноним 2022/01/05 09:18:18  №2256478 296
>>2256476
Ты читать по русски умеешь?
>php://input является потоком только для чтения, который позволяет вам читать необработанные данные из тела запроса.
Ответы: >>2256481
Аноним 2022/01/05 09:25:39  №2256481 297
>>2256478

$obj_num = file_get_contents('php://input');
$arr=json_decode('obj_num');

var_dump($arr);
пусто.
Может код отправки с фронта не верен?
>>2256021

\t
Ответы: >>2256484
Аноним 2022/01/05 09:28:50  №2256484 298
Ответы: >>2256487
Аноним 2022/01/05 09:31:02  №2256487 299
Ответы: >>2256488
Аноним 2022/01/05 09:39:14  №2256488 300
>>2256487
все работает
-----жс-----
let xhr = new XMLHttpRequest();
xhr.open('POST', 'http://localhost:4000')
xhr.send(JSON.stringify([1, 2, 3]));

----пхп-----
$nums = file_get_contents('php://input');

print_r(json_decode($nums, true));
Ответы: >>2256489
Аноним 2022/01/05 09:43:35  №2256489 301
>>2256488
Uncaught DOMException: The URI is malformed.
Ответы: >>2256490 >>2256539
Аноним 2022/01/05 09:45:41  №2256490 302
>>2256489
Иди лучше в кулинарный колледж.
Аноним 2022/01/05 11:25:54  №2256535 303
>>2256472
>тут >>2256268
Это писал не я, а другой человек.

>>2256473
>По классике не работает
По классике объясни что где и как не работает.
Аноним 2022/01/05 11:28:09  №2256539 304
Ответы: >>2256554
Аноним 2022/01/05 11:37:02  №2256554 305
>>2256539
Я уже кучу статей перечитал,ниче не работает...
Ответы: >>2256570
Аноним 2022/01/05 12:06:16  №2256570 306
>>2256554
>ниче не работает...
Это не конструктивный ответ. Опиши весь порядок действий и результаты каждого действия.
Ответы: >>2256652
Аноним 2022/01/05 14:32:25  №2256652 307
Аноним 2022/01/05 17:17:34  №2256748 308
Я СДЕЛАЛ ЕГО!!!!!!!!!!!!!!!!
Аноним 2022/01/05 17:32:28  №2256761 309
>>2241613 (OP)
этого котика я делала много лет назад
приятно, что он стал маскотом пхп треда
сама-то я давно ушла вкатилась в жс, а пхп учила в рамках изучения бэкенда и повышения шансов на трудоустройство
Аноним 2022/01/05 17:32:52  №2256762 310
>>2241613 (OP)
этого котика я делала много лет назад
приятно, что он стал маскотом пхп треда
сама-то я давно ушла вкатилась в жс, а пхп учила в рамках изучения бэкенда и повышения шансов на трудоустройство
Аноним 2022/01/06 08:25:39  №2257155 311
Есть смысл с него начинать для поиска первой РАБоты?
Глянул вакансии, вроде не очень-то и много их, ещё и Битрикс вонючий.
Аноним 2022/01/06 10:49:14  №2257232 312
>>2241613 (OP)
Добрый день. Где то около месяца изучаю html/css и хотелось бы узнать, а на каком вообще уровне нужно знать html и css для того, что бы можно было переходить к изучению php?
Ответы: >>2257255
Аноним 2022/01/06 11:17:14  №2257255 313
>>2257232
Разрешаю начать с пчп
Ответы: >>2257265
Аноним 2022/01/06 11:22:29  №2257265 314
>>2257255
В вакансиях, для php джунов, требуют так же знания js. Нахуя? Т.е. мне еще и js придется выдрачивать?
Ответы: >>2257269
Аноним 2022/01/06 11:24:58  №2257269 315
Ответы: >>2257272
Аноним 2022/01/06 11:26:24  №2257272 316
>>2257269
ну его тогда нахуй, лучше во фронт пойду.
Ответы: >>2257274 >>2257330
Аноним 2022/01/06 11:28:04  №2257274 317
>>2257272
Там еще больше требований с ждуна.
Аноним 2022/01/06 12:09:49  №2257314 318
Какие платежные магазины встаривают обычно в магазины?
Ответы: >>2257316
Аноним 2022/01/06 12:10:28  №2257316 319
>>2257314
>платежные системы
быстрофикс
Аноним 2022/01/06 12:23:18  №2257330 320
>>2257272
Тогда иди на фронт.
Один язык, одна технология, одна извилина. Так победим!
Аноним 2022/01/06 19:34:13  №2257631 321
image.png (627, 610x854)
854x610
Приобрел няшу
Рейт/10
Ответы: >>2257646 >>2258904
Аноним 2022/01/06 19:55:29  №2257646 322
>>2257631
Молодец. Теперь прочитай и забудь через три месяца, или не забудь. Рассказывай "дремучим" пхп коллегам на митинге, что тестирование и непрерывная интеграция это важно. Они будут тебе поддакивать и считать минуты до конца. А ПМ скажет что потом обязательно, он всеми руками за, но сейчас нет времени на раскачку, сам знаешь, кстати когда таску доделаешь.
Ответы: >>2257657
Аноним 2022/01/06 20:09:42  №2257657 323
>>2257646
Чел, ну ты даешь. Зачем так больно делать?.......
Аноним 2022/01/06 22:29:45  №2257736 324
Вопрос по Ларавелу.
Что нужно выносить в модель из контроллера? Я сейчас гоню весь прямо в контроллере. Просто потому, что так проще и я не понимаю, где граница между "так, это модель, а это контроллер". Хочу часть вынести в модели. Допустим, все обращения к БД надо убирать туда. А остальное? Так-то в контроллере вообще можно оставить один метод "пни модель - получишь результат, и тебе не к чему стремиться".
Ответы: >>2257746
Аноним 2022/01/06 22:52:00  №2257746 325
>>2257736
Я предпочитаю выносить в модель пихать по-минимуму логики потому, что AR-модели и без того со временем пухнут. Обычно только простые преобразования данных оставляю. Саму логику приложения пишу в сервисном слое.
Получается так: контроллер валидирует входящие данные и вызывает определённый сервис. Тот выполняет логику приложения и возвращает какие-то данные. Контроллер делает нужные проверки результата и формирует ответ.

Так все делают вроде, не?
Ответы: >>2257749 >>2258912
Аноним 2022/01/06 23:05:39  №2257749 326
>>2257746
>контроллер валидирует входящие данные
Мне казалось, что валидация - работа для мидлвере.
>вызывает определённый сервис. Тот выполняет логику
Логика в сервис провайдере? Как это обосновано? Я не спорю, просто непонятно.
Ответы: >>2257753
Аноним 2022/01/06 23:27:00  №2257753 327
>>2257749
Допустим, надо зарегистрировать пользователя.
Юзер дёргает за маршрут, отправляя в контроллер формреквест. Формреквест проверяет правильность заполнения полей, дальше в контроллере ты делаешь какие-нибудь дополнительные проверки и вызываешь метод специального класса - сервиса, UserAuthService::createNewUser(array $userData), например.
Сервис принимает уже отвалидированные данные, создаёт пользователя, сохраняет в бд, вызывает какую-то там логику, пишет в лог, запускает в очередь job с уведомлением о регистрации пользователя, звонит админу, вызывает небо и аллаха, а в контроллер возвращает только созданного юзера. После этого контроллер возвращает нужный ответ или ошибку.
Таким образом, тебе не нужно в контроллер подключать миллион классов, логгеров и всего прочего, он занимается только тем, чем и должен - обработкой запросов.
Где тут модель - в модели у тебя в основном методы для работы с бд (преобразование данных из бд в нужную форму, получение связанных сущностей, различные scope и тому подобное) и логика, напрямую привязанная к этой модели.
пример всратый, но в три часа ночи ничего лучше в голову не лезет
Ответы: >>2257765 >>2257803
Аноним 2022/01/07 00:30:46  №2257765 328
Аноним 2022/01/07 06:18:42  №2257803 329
>>2257753
А потом ты прочитаешь дядю Боба и Эванса и побежишь к батюшке исповедоваться...
что то пошло не так Ренат 2022/01/07 10:07:29  №2258016 330
Доброго времени суток
почему то не открывается http://codedokode.github.io/phpbook
может кто то знает почему и надолго ли?
Ответы: >>2258026 >>2258063 >>2258446
Аноним 2022/01/07 10:11:52  №2258026 331
Ответы: >>2258034
Аноним 2022/01/07 10:24:39  №2258034 332
Ответы: >>2258036 >>2258045
Аноним 2022/01/07 10:29:52  №2258036 333
>>2258034
IsItDown показывает down
Аноним 2022/01/07 10:46:55  №2258045 334
>>2258034
У меня обе ссылки нормально работают - исправляй у себя.
Аноним 2022/01/07 11:04:51  №2258063 335
>>2258016
У меня тоже не открывается.
Аноним 2022/01/07 15:19:05  №2258446 336
Аноним 2022/01/07 22:50:52  №2258904 337
>>2257631
ряяя, лучше в pdf чтобы удобно искать и открывать сразу несколько страниц
Аноним 2022/01/07 23:20:01  №2258912 338
>>2257746
>Контроллер делает нужные проверки результата и формирует ответ
Если эндпоинт валидирует принятые данные, тогда зачем ты ему снова отдаёшь данные которые нужно проверять?
Аноним 2022/01/08 09:49:22  №2259089 339
0432.jpg (68, 1440x767)
767x1440
Ответы: >>2259143 >>2260393
Аноним 2022/01/08 10:13:25  №2259117 340
Как писать код в ООП стиле?
Ответы: >>2259844 >>2260382 >>2261179
Аноним 2022/01/08 10:31:40  №2259143 341
>>2259089
Какая-то ошибка с запросом, вот он и возвращает false вместо результата.
Аноним 2022/01/08 18:01:39  №2259711 342
Cron в винде не пашет?
Ответы: >>2259718
Аноним 2022/01/08 18:21:23  №2259718 343
Ответы: >>2259720
Аноним 2022/01/08 18:24:49  №2259720 344
Ответы: >>2259826 >>2260395
Аноним 2022/01/08 21:24:41  №2259826 345
>>2259720
Создавай батник - запускающий скрипт и повесь его выполнение как задачу в планировщик.
Аноним 2022/01/08 22:02:43  №2259844 346
Ответы: >>2259961
Аноним 2022/01/09 08:53:04  №2259961 347
>>2259844
Теорию я знаю,а вот как на практике,я хз
Ответы: >>2260210
Аноним 2022/01/09 13:09:44  №2260210 348
>>2259961
С чем у тебя проблемы "на практике"?
Ответы: >>2260297
Аноним 2022/01/09 14:26:29  №2260297 349
Ответы: >>2260299
Аноним 2022/01/09 14:28:16  №2260299 350
>>2260297
Че тут писать, начни писать хоть что одной стеной текста, со временем охуеешь как невозможно все это читать, начнешь заниматься инкапсулацией, кложурами всякими, вот тебе все ооп.
Ответы: >>2260307
Аноним 2022/01/09 14:37:28  №2260307 351
Аноним 2022/01/09 15:16:13  №2260343 352
Симфоняши, чому сабскрайбер не срабатывает? Кэш чистил, контейнеры перезапускал, автоконфигурация включена.
Ответы: >>2260348 >>2260385
Аноним 2022/01/09 15:21:49  №2260348 353
>>2260343
Это значит перечитывай доки до просветления. Телепатов не дождешься, они в отпуске до следующей кальпы.
Ответы: >>2260363
Аноним 2022/01/09 15:23:18  №2260351 354
>>2250530
>Можно к вам перекатиться?
Ко мне тут перекатился перец с 9 годами джявы за спиной, в край заебавшийся конпелировать эксэмэль в эксепшоны и возжелавший сменить стек на похапе. Так что вполне реально. После джавы современный похапе - как глоток свежего воздуха.
Аноним 2022/01/09 15:37:03  №2260363 355
>>2260348
Советы уровня б. В том-то, блядь, и дело, что все сделано в строгом соответствии с доками.
Ответы: >>2260381
Аноним 2022/01/09 15:55:18  №2260381 356
>>2260363
Тогда иди батюшку с кадилом зови, чтобы чертей прогнал из кода.
Аноним 2022/01/09 15:58:03  №2260382 357
>>2259117

Для начала надо изучить сам ООП. У нас в шапке есть учебник, в нем глава про ООП (с задачками), можно начать с нее. Она довольно просто написана.

Дальше можно почитать комментарии к задаче про список студентов: https://github.com/codedokode/pasta/blob/master/student-list.md - там все подробно расписано. Там требуется по сути сделать форму регистрации с применением ООП.

Идея ООП в том, что программа состоит из классов, каждый из которых имеет свою зону ответственности. Некоторые классы представляют "сущности" - например, класс Пользователь со свойствами Логин, Email, Хеш пароля. Некоторые классы являются "сервисами" или "менеджерами" и не содержат свойств, а лишь методы для управления сущностями.

Так абстрактно наверно сложно объяснить, напиши пример какой-то задачи (например: форма регистрации, страница товара в магазине итд), а я опишу, как ее можно сделать в ООП-стиле.

Ну, например, для страницы регистрации пользователя мы можем сделать такие классы:

- User - хранит информацию о Пользователе
- UserTableGateway - умеет сохранять объект Пользователя в БД и загружать из нее
- RegistrationData - представляет собой данные, введенные в форму регистрации
- RegistrationValidator - класс, проверяющий данные из формы на правильность
- RegistrationController -контроллер, управляет отображением страницы с формой и принимает данные, присланные методом POST
- Mailer - класс, который умеет отправлять письма
Ответы: >>2260444
Аноним 2022/01/09 16:01:49  №2260385 358
>>2260343

Вероятных причин множество:

- ты создал класс, но не зарегистрировал его в контейнере как сабскрайбер
- ты не указал, какие события слушаешь
- ты опечатался в названии события
- и тд

Для начала попробуй использовать описанную тут команду debug:event-dispatcher: https://blog.theodo.com/2015/03/debug-your-event-listeners-and-subscribers-easily-in-symfony-2/
Аноним 2022/01/09 16:14:27  №2260393 359
>>2259089

Скорее всего ошибка выполнения запроса. Так как произошла ошибка, то в $result возвращается false, и из-за этого происходит ошибка в следующей строке, которую ты видишь на экране.

То есть ты видишь не исходную ошибку, а лишь ее последствия.

По умолчанию mysqli никак не сообщает об ошибках выполнения запроса и ты должен поступить одним из двух способов:

способ 1) ты должен после каждой команды писать код вроде:

$result = mysqli_query($conn, $sql);
if ($result === false) {
die("ОШИБКА В СТРОКЕ N: " . $conn->error);
}

То есть, тебе надо вставить аналогичный if после каждой команды вроде mysqli_query и подобных, которые что-то возвращают.

Этот способ имеет недостаток, что мы выводим текст ошибки на экран, что не должно использоваться на реальных сайтах (так как это раскрывает информацию о твоем приложении для атакующего).

способ 2) ты должен включить режим выброса исключений, который будет сам сообщать об ошибках в mysqli. Если ты не знаком с исключениями, советую про них почитать.

Для этого достаточно в начале кода до соединения с БД (до mysqli_connect) поставить строку:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

Писать кучу if, как в способе 1, не требуется. Ошибки будут обнаруживаться и выводиться сами собой.

Мануал к этой функции тут: https://www.php.net/manual/ru/mysqli-driver.report-mode.php

Я советую использовать способ 2, только почитать про исключения. Также, можно написать автору статьи и спросить, почему он не использует в своем коде обнаружение и вывод ошибок. По моему, это просто не очень качественный код.

Ты можешь посмотреть примеры кода в мануале PHP - они используют mysqli_report: https://www.php.net/manual/ru/mysqli.query.php
Ответы: >>2260594 >>2260735
Аноним 2022/01/09 16:15:14  №2260395 360
>>2259720

Почитай про Планировщик Задач Windows и добавь свой скрипт в него.
Ответы: >>2260449
Аноним 2022/01/09 16:52:12  №2260444 361
Ответы: >>2260685 >>2260735
Аноним 2022/01/09 16:58:46  №2260449 362
>>2260395
Я поставил линукс в виртуалку
* /usr/bin/php8 /home/anon/hello.php
для каждой минуты
но чет кронтаб -л не хочет показывать что я сохранил
Ответы: >>2260685
Аноним 2022/01/09 18:56:11  №2260594 363
>>2260393
Ага, спасибо, теперь видно из-за чего ошибка
Аноним 2022/01/09 22:11:14  №2260685 364
>>2260444

SOLID можно почитать, но если ты не разбираешься в основах ООП, и не пробовал писать ООП-код, то ничего не поймешь. Это довольно аюстрактные принципы.

>>2260449

А ты правильное число звездочек поставил? Ты кронтаб редактировал правильной командой? Кронтаб от того пользователя, от которого нужно?
Аноним 2022/01/10 02:23:57  №2260735 365
>>2260393
>$result === false
if false === false, ты серьёзно?

>>2260444
>SOLID?
Есть тут кто объяснит простым языком о Принципе подстановки Лисков?
Ответы: >>2260850
Аноним 2022/01/10 08:34:14  №2260850 366
>>2260735

> if false === false, ты серьёзно?

Ты бы писал, что именно не так. По моему, код правильный.

> о Принципе подстановки Лисков?

Допустим, у нас есть класс A и код, который принимает объект класса A и что-то с ним делает. Мы пишем класс B, который наследуется от A:

class B extends A { ... }

Принцип подстановки Лисков говорит, что если мы в этот код передадим объект класса B вместо A, то код должен работать корректно. Он может работать по-другому и дать другой результат, но не должен выдавать ошибок.

То есть: в код, принимающий объект класса A, можно передать объект его наследника и все должно работать.

По этой причине ты, например, не можешь при наследовании удалить метод из класса или заменить публичный метод на приватный, так как это сломает код, который вызывает этот метод.

По этой же причине при наследовании нельзя добавить в метод аргументы без указания значений по умолчанию. То есть, если в классе A был метод:

doSomething($a)

то ты не можешь в классе B заменить его на:

doSomething($a, $b)

так как это сломает совместимость.
Ответы: >>2260895 >>2260925
Аноним 2022/01/10 09:09:18  №2260895 367
>>2260850
Чел, солид это архитектурные принципы, а не про стиль кодирования уровня не пишите методы на три экрана. Если ты делаешь в своем коде $person instanceof Manager, то ты значит нарушил принцип подстановки и пытаешься его обойти. Посмотри например паттерн посетитель, он как раз про то когда убираем проверку типа в пользователе
Ответы: >>2261657
Аноним 2022/01/10 09:41:00  №2260925 368
>>2260850
>Ты бы писал, что именно не так. По моему, код правильный.
В ИФе который принимает булево ты сравниваешь булево с булевым.
!$result было бы куда лучше, да и если прилетит null например как ты считаешь его обработает твоё тождественное сравнение? Правильно, такое сравнение пропустит null т.к (null !== false) -> true
Да и сравнивать булево с булевым есть тавтология.
Ответы: >>2260944
Аноним 2022/01/10 09:56:09  №2260944 369
>>2260925
Когда будешь бегло читать чужие портянки кода на ревью тогда ты заговоришь по-другому.

мимо
Ответы: >>2260948
Аноним 2022/01/10 10:03:20  №2260948 370
>>2260944
В смысле есть гуд писать
if ($somethingIsTrue == false) {
}
Ответы: >>2260949
Аноним 2022/01/10 10:08:08  №2260949 371
>>2260948
>$somethingIsTrue == false
Лол.
Теперь открываем учебник и учимся нормально называть переменные.
Ответы: >>2260954
Аноним 2022/01/10 10:17:16  №2260954 372
>>2260949
хуел, лечи аутизм, вкатотуся
Ответы: >>2260988
Аноним 2022/01/10 10:50:32  №2260988 373
>>2260954
Ты забыл написать $imNanosekPomidorManyaIsFalse == true, макака.
Аноним 2022/01/10 13:17:31  №2261114 374
Двач-программач, привет, пишет начинающий phpшник. Начал вкат по книге "PHP7 для начинающих" МакГрата, там он говорит, что нужно скачать AbyssWebServer. Скачиваю его с официального сайта, при установке пишет, что система не обнаружила libssl-1_1-x64.dll.
Скачал эту dll, кидал и в C:\Windows\SysWOW64, и в папку с самой программой, и ничего, всё так же пишет, что не найдено. Куда эту dll забрасывать?
Автоматическое устранение так же ничего не дает
Ответы: >>2261121
Аноним 2022/01/10 13:23:31  №2261121 375
>>2261114
Либо ставь линупс хоть в виртуалку, а в него докер либо ты не нужен. Честно, чел. Ты сейчас занимаешься мозгоебством, а не учишься решать проблемы которые у тебя будут на проде.
Ответы: >>2261129 >>2261137 >>2261148
Аноним 2022/01/10 13:30:21  №2261129 376
>>2261121
Нахуя докер нужен? Посмотрел сколько он занимает места и решил что буду продолжать сидеть с xampp,
Плюс по отзывам докер отваливается от каждого обновления.
Ответы: >>2261132
Аноним 2022/01/10 13:32:19  №2261132 377
>>2261129
Ну если ты сидеть собираешься, а не работать в конторе где деньги платят, тогда другое дело...
Ответы: >>2261140 >>2261669
Аноним 2022/01/10 13:35:08  №2261137 378
>>2261121
Понял, спасибо, добра
Аноним 2022/01/10 13:39:15  №2261140 379
>>2261132
Слушай я не спорить пришел, особенно с человеком который где-то там работает, нахуй ты это делаешь, тебе нравится самоуверждаться?
Я тебе конкретный тематический вопрос, мне реально интересно было бы послушать советы опытного, заодно с упоминанием подводных камней.
Докер это виртуалка на облаке майкрософта где ты можешь среды выбирать чи що? Почему он столько весит?
И разве инструменты не должны облегчать работу, а не наоборот? Тут люди пришли на пыхыпы писать вещи, а не докер пердолить, например, а ты это показываешь так, что работа будет связана напрямую с пердолингом докера, спрашивается, зачем такое нужно.
Ответы: >>2261149 >>2261650
Аноним 2022/01/10 13:48:19  №2261148 380
>>2261121
Может он сайтики на вордпресс пилить собрался, а ты со своим докером к нему лезешь. Поехал уже?
Ответы: >>2261155
Аноним 2022/01/10 13:48:24  №2261149 381
>>2261140
Здесь клуб любителей виндоуз? Что ты пришел спрашивать какие-то ебанутые кейсы с которыми опытный разработчик не сталкивается. Потому что пользуется стандартными инструментами,а винду использует дома для игр. Докеризация сейчас почти во всех, даже мелких конторах. Несколько контор поменял и везде был докер и по 10 раз на собесе спрашивали, знаешь докер? с докером знаком? бухал с докером на брудершафт?
Ответы: >>2261152 >>2261249
Аноним 2022/01/10 13:49:53  №2261152 382
>>2261149
Ладно-ладно, скажу что слышал на дваче.
Ответы: >>2261159
Аноним 2022/01/10 13:51:00  №2261155 383
>>2261148
А может быть он просто заблудился в начале пути и ему надо помочь, а не отвести на помойку с вордпресами?
Ответы: >>2261158
Аноним 2022/01/10 13:52:16  №2261158 384
>>2261155
Большинство макако вакансий на смсках, от них не денешься.
Ответы: >>2261162
Аноним 2022/01/10 13:53:09  №2261159 385
Аноним 2022/01/10 13:54:27  №2261162 386
Ответы: >>2261404
Аноним 2022/01/10 14:27:45  №2261179 387
>>2259117
Наверни свежий курс Лаврика, только что на складчинах появился.
Аноним 2022/01/10 14:31:03  №2261183 388
каждый класс-один файл или группировать по смыслу,делать интерфейсы?
доступ к таким классам через намспейсы?
Ответы: >>2261407 >>2261657
Аноним 2022/01/10 15:12:00  №2261249 389
>>2261149
Накатил wsl2 на винду, накатил docker desktop, работает как часы, проекты держу в хомяке дистра, который на wsl2 крутится, команды в линуксовый терминал ввожу. И никакой ебли с виртуалками и дуалбутом. Да, я знаю, что wsl - это виртуалка.
Аноним 2022/01/10 15:32:27  №2261268 390
Аноним 2022/01/10 17:25:11  №2261404 391
>>2261162
На шаред хостингах тоже докер будешь поднимать, поехавший?
Ответы: >>2261415
Аноним 2022/01/10 17:27:27  №2261407 392
>>2261183
>каждый класс-один файл
this

>группировать по смыслу
Для этого есть обычые папки.
Ответы: >>2261501
Аноним 2022/01/10 17:34:21  №2261415 393
>>2261404
Дед, уже 2022, проснись.
Ответы: >>2261425
Аноним 2022/01/10 17:43:22  №2261425 394
>>2261415
Смотрю как соевый поридж выучил одну простенькую технологию, научился пилить конфиги для неё и уже везде с ней лезет, искренне полагая, что только так делать правильно.
Ответы: >>2261429
Аноним 2022/01/10 17:48:28  №2261429 395
>>2261425
Дедуля, речь не о том. Шаред хостинги это хуйня из 90-х и нулевых, когда не было виртуализации и вообще не быбло нихуя, поэтому пихали тысячу сайтов на один сервер с одним сетапом. Про распределение ресурсов и безопасность нет и речи. Это каменный век.
Сейчас впс стоит копейки и там разворачивается все что угодно.
Ответы: >>2261434
Аноним 2022/01/10 17:55:55  №2261434 396
>>2261429
Ты кроме ВПС ничего не видел ведь, верно, поридж?
Ответы: >>2261437
Аноним 2022/01/10 17:57:32  №2261437 397
>>2261434
Ты лучше расскажи, что ты такого видел, поделись древними знаниями.
Ответы: >>2261481
Аноним 2022/01/10 18:30:32  №2261481 398
>>2261437
Что, нету?
А я так хотел послушать про заливку говна по фтп, пхпмайадмин, письма хостеру с просьбой изменить настройку или включить экстеншены или разрешить порт 25. Вот это были технологии, не чета порриджевому говну.
Ответы: >>2261510 >>2261608
Аноним 2022/01/10 19:01:25  №2261501 399
1.jpg (44, 443x633)
633x443
2.jpg (47, 571x651)
651x571
3.jpg (49, 473x641)
641x473
>>2261407
вот что я вчера наговнокодил лол
Ответы: >>2261657 >>2263602
Аноним 2022/01/10 19:08:00  №2261510 400
k8s docker.mp4 (7029, 1282x720)
720x1282
>>2261481
>Вот это были технологии
Аноним 2022/01/10 21:47:43  №2261608 401
>>2261481
Под простой сайтец тоже ВПС покупаешь, докер ставишь, поехавший?
Аноним 2022/01/10 23:01:12  №2261650 402
>>2261140

Давайте разберем 2 заблуждения про Докер.

Первое: якобы Докер придумали для того, чтобы разработчик не мучался с установкой Апача и PHP на компьютер. Неверно! Докер придумали, чтобы заработать на тех, кто деплоит сложные микросервисные приложения в дорогие облачные провайдеры. Если у тебя сложное микросервисное приложение (то есть, ты можешь позволить себе нанять много инженеров) и ты используешь дорогой облачный провайдер вроде AWS, то у тебя наверно много денег и ты купишь корпоративный тарифный план. Докер написан ради таких клиентов и ради решения их проблем. А не ради бедняков, у которых нет денег даже на хостинг и которые не способны установить Apache на винде.

Ну например: он помогает перейти с одного дорогого облачного провайдера на другой дорогой без переписывания кода.

Второй миф: Докер это хорошее, грамотно спроектированное решение. Опять мимо! Давайте подумаем, что нужно, чтобы задеплоить приложение на сервер? Нужно установить это приложение со всеми требуемыми зависимостями. То есть, нужен менеджер пакетов. Но не обычный менеджер пакетов, а такой, который умеет ставить пакеты в определенную папку (а не глобально в /usr), умеет ставить одновременно разные версии одного пакета итд. Ну и хорошо бы, чтобы все устанавливаемые приложения и библиотеки были кроссплатформенными. То есть, нужен какой-то фреймворк или какое-то универсальное API, и нужно перевести все библиотеки на него, чтобы они работали одинаково под любой ОС.

И что же? Команда Докера написала хороший пакетный менеджер? Нет, они написали костыль: виртуальную машину, в которую ты bash-скриптом скачиваешь пакеты и компилируешь их там. При этом:

- на каждую команду Докер создает новый образ диска, потому люди пишут по 30 команд в одну строку, чтобы обойти эту "фичу". Вопрос: зачем нужна такая фича, которую все пытаются обойти?
- в виртуальной машине остается куча мусора вроде исходников, промежуточных файлов компиляции и тд.
- чтобы запустить образ Докера, нужен демон. Этот огромный демон, запускаемый из-под рута - отличная поверхность для атаки. Совсем не то, что хочется иметь на продакшен-сервере.
- вместо написания кроссплатформенного менеджера пакетов и универсального кроссплафторменного фреймворка библиотек и приложений Докер под Windows и Mac просто запускает тяжелую, медленную виртуальную машину с ядром Линукса, кучей системных служб, драйверами. В итоге каждый Интернет-пакет проходит через несколько слоев драйверов. Это просто не может работать быстро.
- публичные Докер-образы часто не обновляются и могут содержать уязвимости

То есть, Докер это костыль, а не решение сложной проблемы создания универсальной, платформонезависимой среды исполнения приложений и универсального пакетного менеджера.




Ответы: >>2261742
Аноним 2022/01/10 23:14:52  №2261657 403
>>2260895

Во-первых, я написал про LSP, а не про "стиль кодирования". Во-вторых, по моему ты путаешь назначение паттерна Посетитель. Он придуман для того, чтобы разделить обход сложной структуры и операции на ее узлах (например: обход дерева).

>>2261183

Каждый класс в своем файле. Интерфейсы делать только там, где это нужно. Неймспейсы использовать. Следовать PSR-4. Вот урок: https://github.com/codedokode/pasta/blob/master/php/autoload.md

>>2261501

Проблемы:

- в одном файле должен быть один класс, имя класса и файла соответствуют друг другу в соответствие с PSR-4
- поля должны быть названы осмысленно, а не $var
- названия классов неудачные. Правильнее было назвать LoginValidator, EmailValidator, итд. И логичнее проверяемое значение не передавать в конструктор, а в функцию проверки.
- возвращаемые данные должны быть одного типа (или тип + null/false). А ты в валидаторе Email возвращаешь то число, то строку.

Ты нарушаешь принцип разделения ответственности (каждый занимается своим делом). Задача валидатора - проверить правильность, но не выводить текст на экран. Ты должен возвращать ошибку через return, а не выводить ее. Вывод ошибки будет делаться где-нибудь в шаблоне и это будет делать другой код.

Аноним 2022/01/10 23:53:44  №2261669 404
Аноним 2022/01/11 06:56:49  №2261742 405
>>2261650
Что за графоманский бред. Пишешь за 5 минут docker-compose.yaml из готовых образов и запускаешь, или отдаешь другу и он запускает

командой docker-compose up
Аноним 2022/01/11 13:42:57  №2262121 406
Ответы: >>2263573
Аноним 2022/01/11 14:25:55  №2262152 407
$sth = $pdo->prepare('SELECT* FROM circulation WHERE circ_id=(SELECT max (circ_id) FROM circulation)');


$sth->execute();

$result = $sth->fetch(PDO::FETCH_BOTH);
Это верный код?
Ответы: >>2263573
Аноним 2022/01/11 15:40:17  №2262255 408
Хочу рассылать кучу писем в фоне с помощью симфоневского мессенджера и кролика. Православно ли это или же существуют инструменты, более подходящие для массовой рассылки?
Ответы: >>2263573
Аноним 2022/01/11 17:21:36  №2262317 409
Почему PDO в упор не хочет видеть одну колонку?
Ответы: >>2263573
Аноним 2022/01/12 22:29:59  №2263573 410
>>2262121

У меня тоже почему-то белую страницу показывает.

>>2262152

Ну как сказать. Он берет только первую строку результата, а наверно надо взять все. И вместо FETCH_BOTH наверно надо FETCH_ASSOC ?

>>2262255

Массовая рассылка - это когда ты берешь из БД миллион юзеров и в цикле каждому отправляешь письмо. Непонятно, зачем тут лишняя прослойка в виде RabbitMQ.

RabbitMQ для случаев, когда ты например хочешь при регистрации отправить письмо в фоне, чтобы не замедлять процесс. Но массовая рассылка и так делается фоновым скриптом и RabbitMQ тут только мешает.

>>2262317

Непонятно, почему. Ты бы хоть подробности описал.
Аноним 2022/01/13 00:37:31  №2263602 411
>>2261501
Не надо на каждое поле делать отдельный класс, это ебень.
Ответы: >>2263683
Аноним 2022/01/13 06:45:40  №2263683 412
>>2263602
А выше говорят что надо,но только в отдельный файл
Ответы: >>2265338
Аноним 2022/01/13 15:55:27  №2264322 413
1UdKRnzQQ4s.jpg (82, 933x525)
525x933
так-с, сейчас закончу свой сервис для packagist для обхода всех блокировок с парсингом на guzzle, и буду искать удалённую работку.

Мой стек:
PHP 7 и 8, Symfony, Doctrine ORM, Zend, MySQL, Clickhouse, Redis, AWS, Google Analytics+Google Search Console, Mercure.
Писал и на ларке даже немного, небольшие навыки девопса. JS знаю неплохо со всякими вебпаками

Сколько требовать деняк? 1000$ норм?
Ответы: >>2264347
Аноним 2022/01/13 16:20:53  №2264347 414
>>2264322
Либо ты пиздишь и знаком со всем перечисленным на уровне хелловорлдов, либо очень сильно себя недооцениваешь.
Ответы: >>2264366
Аноним 2022/01/13 16:51:12  №2264366 415
16137353565440.jpg (61, 685x411)
411x685
>>2264347
Ну блин, хз. Во-первых у меня даже трудовой нет. Суммарно у меня 1,5 года опыта в айти, из них последний год на мелкой галерке неофициально работал за 500$.
Английского устного у меня нет, писать могу несложными предложениями. В универе я не учился.
Любые задачи, связанные с этим стеком, делал, почему хелоуворлд, нет. Где-то больше знаю, где то конечно меньше.

Сейчас вот прям недавно начал искать работу, каждая вторая хрюша разворачивает, узнав что я не могу разговаривать на английском.
Я сам в Беларусобульбашии живу. Может мне стоит нахуй слать беларуских хрюш и на россию смотреть? Может у вас адекватнее?
Я просто сам в мухосрани живу, в Беларуси 1000$ это огромные деньги, я таких никогда не видел ещё.
Сколько надо просить, не знаю. Я боюсь что даже на 1000$ буду искать долго и помру с голода. Я не очень верю, что в айти дефицит, хрюши тупо спамят, а оффер хрен вышлют, думаю.
Ответы: >>2264375 >>2264527 >>2267872
Аноним 2022/01/13 17:06:26  №2264375 416
>>2264366
Забудь про местных хрюш как про страшный сон и иди на джинн к хохлам. Оторвут с руками с таким стеком.
Ответы: >>2264380
Аноним 2022/01/13 17:16:18  №2264380 417
>>2264375
спасибо за совет, попробую. Пока на линкедине отвечал только, ну там только беларуские хрюши и писали.

Буду тут репортить, как что нового будет в поисках.
Аноним 2022/01/13 20:26:03  №2264527 418
>>2264366
В рабсии Битрикс актуальнее
Аноним 2022/01/14 15:37:43  №2265001 419
Ответы: >>2265035 >>2265080 >>2265335
Аноним 2022/01/14 16:17:13  №2265035 420
Ответы: >>2265088 >>2265337
Аноним 2022/01/14 17:39:27  №2265080 421
>>2265001
Учиться тебе ещё и учиться. Ни солида, ни ооп нормального, тайпхинты где? Почему так много публичных методов в одном классе? Почему классы в одном файле? Где автозагрузчик и нэймспэйсы? Вёрстка кривая, в блокноте чтоль писал?

Годится, если ты только сел изучать php. Садись фреймворк изучать любой, он поможет писать код намного правильнее.
Ответы: >>2265336
Аноним 2022/01/14 17:48:01  №2265088 422
>>2265035
Зачем ты логику пишешь в индексном файле и тем более функции там создаёшь? Изучи MVC. Фабрику изучи, чтоб не повторялся код. Интерфейсы изучи зачем и как писать. Тоже дели код, в идеале ОДИН ПАБЛИК МЕТОД на класс, что вы всё в один класс пихаете. Коммиты пиши чаще и нормально называй.
В целом получше, видно что старался, но надо учиться. Тоже за фреймворк садись и повторяй за опытными по гайдам.
Аноним 2022/01/14 19:01:16  №2265166 423
>>2265088
>> Фабрику изучи, чтоб не повторялся код
Не вижу как мне здесь поможет фабрика для не повторения кода. Какого именно кода?

>> в идеале ОДИН ПАБЛИК МЕТОД на класс
Не могу такого представить, разве что разделить какие-нибудь методы на трейты.
Аноним 2022/01/14 19:06:26  №2265170 424
>>2265088
>в идеале ОДИН ПАБЛИК МЕТОД на класс
Бред. Публичных методов нужно столько, сколько нужно для работы. Все остальные закрытые.
Ответы: >>2265208 >>2266537
Аноним 2022/01/14 19:39:04  №2265193 425
>>2241613 (OP)
Чет я вообще не понимаю, почему не работает 2 задача
<?php
eror_reporting(-1);
echo "Бросаем кубик...\n";
&random = mt_rand(1, 6);
echo "Выпало &random \n";
Ответы: >>2265240 >>2265280
Аноним 2022/01/14 20:05:42  №2265208 426
>>2265170
Это называется принцип единственной ответственности. Нет ни одной причины нарушать его. Если у тебя 2 публичных метода - значит это 2 логики, которые можно вынести на 2 класса.
Ответы: >>2265227 >>2265288
Аноним 2022/01/14 20:18:47  №2265219 427
Нужно знать все фреймворки при устройстве на работу или можно ограничиться одним?
Ответы: >>2265252
Аноним 2022/01/14 20:30:24  №2265227 428
>>2265208
Публичные методы не имеют никакого отношения к SOLID. Это просто модификаторы доступа.
Ты видел контроллеры например? Обычный Ларовский контроллер ресурсный, где 4 или 5? публичных метода? А как насчёт шаблона Builder, который хорошо сочетается с fluent interface?
Например:
$windowBuilder = new WindowBuilder;
$windowBuilder->setWidth(600)
->setHeight(800)
->setColor(111)
->setName('new window')
->make();
Это всё публичный методы класса WindowBuilder.
Ответы: >>2265607 >>2266537
Аноним 2022/01/14 20:47:04  №2265240 429
>>2265193
>Чет я вообще не понимаю, почему не работает 2 задача
Этого мало для помощи - что выдаёт, сам что думаешь? Не покатит просто вывалить сюда код и ждать ответа - тут зарплатных нет и все сидят только по-фану.
Ответы: >>2265265
Аноним 2022/01/14 20:54:59  №2265252 430
>>2265219
Достаточно одного, но желательно его знать хорошо. Фреймворки спрашивают для того, чтобы убедиться, что разработчик знает распросранённые паттеры и решения, и не будет городить велосипеды с больной фантазией.
Аноним 2022/01/14 21:16:45  №2265265 431
>>2265240
я хз че думать, уже 10 раз перечитал урок, вообще не врубаюсь. Очевидно в 4 строке ошибка, возможно нельзя одной строкой функцию в переменную запихнутьбля и почему решение нельзя было под спойлер запихнуть или в конце пособия оставить
Ответы: >>2265274
Аноним 2022/01/14 21:29:56  №2265274 432
>>2265265
>Очевидно в 4 строке ошибка
Если ты скопипастил весь код, то ошибок тут больше чем 1.
Ответы: >>2265285
Аноним 2022/01/14 21:36:59  №2265280 433
>>2265193
1)error_reporting
2)не &, а $
3)"Выпало ".$random."\n"
Ответы: >>2265285
Аноним 2022/01/14 21:46:55  №2265285 434
>>2265280
>>2265274
Ахахах, ебать я даун, да нашел и 2 ошибку. Хз, как я проебался с $, моя ебучая невнимательность. Спс анончег
Ответы: >>2265302
Аноним 2022/01/14 21:49:15  №2265288 435
>>2265088
>>2265208
Почему тогда в например java у всех обёрток над примитивами воз и тележка паблик методов?
Ответы: >>2265294
Аноним 2022/01/14 21:55:18  №2265294 436
>>2265288
Чел несет хуйню потому что многие принципы состоящие из одного предложения можно трактовать любой бредовой головой по-разному. SRP это про то что у класса должна быть одна причина для изменений, как сказал Мартин. Вот и ебись теперь с такой формулировкой как хочешь.
Аноним 2022/01/14 22:00:39  №2265302 437
>>2265285
Синтаксис очень важен - канплуктер это очень тупая, но исполнительная машина и ей всё прям до буквы надо пояснять.
Аноним 2022/01/14 23:31:17  №2265335 438
>>2265001

Ты планируешь сделать класс Профессия изменяемым. Но это не очень разумно. Трудно представить ситуацию, когда тебе надо понизить зарплату всем Инженерам во всем мире. Обычно тебе требуется поменять зарплату только части инженеров.

Поэтому возможность менять свойства Профессии несет мало пользы, и наоборот, создает риск ошибки, когда ты нечаянно изменениями затронешь больше работников, чем планировал. Такой класс лучше сделать неизменяемым (иммутабельным). В PHP8.1 появится ключевое слово readonly для дополнительных гарантий неизменности, а пока можно сделать, чтобы изменяющие методы создавали и возвращали новый объект Профессии.

Как тогда менять зарплату работникам? Есть два варианта: либо сделать в работнике свойства, которые переопределяют размер зарплаты, либо при изменении зарплаты создавать новую "профессию" и присваивать работнику.

> class Employee
> public string $department; //string

Логичнее хранить не название Департамента, а сам объект. Тогда можно легко писать конструкции вида:

$person->getDepartment()->getEmployeeCount()

А с твоим подходом нужны лишние поиски по названию. Плюс, в твоем варианте можно присвоить несуществующее название Департамента, а если присваивать объект, то такой проблемы нет.

> $baseRate;
> $is_boss;

Нужно использовать одинаковый стиль наименования.

> //как создать массив объектов?
Пока в PHP нельзя указать тип объектов, который будет храниться в массиве. Проверяй тип при добавлении в массив.

> $this->staffing[] = ['employee'=>$employee, 'amount' => $amount];
Ох, сколько ты будешь мучаться во второй части задачи из-за такой формы хранения информации...

> else {
> echo 'Такой департамент не существует!';
Правильно в такой ситуации выбрасывать исключение. Нужно прочесть урок https://github.com/codedokode/pasta/blob/master/php/exceptions.md и сделать свой класс для исключения.

И еще один момент. Сейчас у тебя все свойства публичные. Это значит, что их можно поменять из любого места кода и класс не может это никак проконтролировать. Ну например, можно поставить работнику ранг = 9 или добавить в массив департаментов не-департамент. Понятно, что специально вредить никто не будет, но можно это сделать по ошибке.

Если ты сделаешь свойства приватными и сделаешь возможность их изменения только через публичные методы (с проверками), то ты можешь защититься от ошибок и улучшить понятность кода. Плюс, это упростит изучение класса: чтобы понять, как используется класс, мы смотрим только на публичные элементы и игнорируем все приватное.

В остальном пока все хорошо.
Ответы: >>2265369
Аноним 2022/01/14 23:31:39  №2265336 439
>>2265080

ООП там вполне нормальный.

> Почему так много публичных методов в одном классе?
Потому что с классом можно сделать такое количество операций. Эту претензию я вообще не понял. Ты что ли все классы по одному методу делаешь? Тяжело читать такое.

> Почему классы в одном файле? Где автозагрузчик и нэймспэйсы?
Потому что это лишнее усложнение для учебной программы из трех классов для изучения основ ООП. Тем более что мы пока не изучили неймспейсы.

Плюс, ты советуешь изучать фреймворк, но сначала надо изучить ООП, иначе ничего будет не понятно. Твой совет неправильный.
Ответы: >>2265607
Аноним 2022/01/14 23:31:58  №2265337 440
>>2265035

В Employee не очень удачная функция inverseLeader. Обычно нам надо либо назначить человека лидером, либо лишить этого звания. Соответственно, код вида "назначить лидером" получается логичный и понятный. А вот код "поменять признак лидера на противоположный" менее понятный, так как из него не очевидно, что именно делается. Надо изучать предудыщий код, а может этот работник получается в какой-то другой функции в другом месте кода. Это затрудняет чтение кода и повышает вероятность ошибки при правке.

> $employee = serialize($employee);
> unserialize($employee);

Правильно тут использовать оператор clone, но может понадобиться написать магический метод __clone, чтобы при клонировании клонировались объекты вроде Job внутри работника.

serialize имеет тот недостаток, что не все объекты можно сериализовать. Например, нельзя сериализовать дескриптор открытого файла, дескриптор соединения с базой данных.

> public function dismissEmployee(
Тут, по-моему, можно использовать array_search с параметром true для поиска работника в массиве.

> return new NullEmployee();
Это сделано, по моему, неудачно. Лучше было бы возвращать null. Во-первых, класс NullEmployee не заполняет поля вроде Job, rang и обращение к его методам вроде getRate() будет вызывать ошибки. Если уж ты создаешь объект, то надо создавать полноценный объект с заполеннными полями. Во-вторых, возврат объекта вместо null скрывает ошибку в коде, когда программист думает, что у любого департамента есть лидер, а в реальности его может не быть. Допустим, мы хотим сгенерировать ответ на обращение пользователя, и программист забыл поставить проверку, что у департамента есть лидер:

echo "Спасибо за обращение. С уважением, {$dep->getLeader()->getName()}\n";

В таком случае, лучше бы код свалился на попытке получить имя из null. А он отработает и вернет некорректный ответ.

Null Object наверно не подходит для этой ситуации.

В классе Job проблема в том, что он обращается к полям вроде rate, которых в нем нету. Это неправильно. Ведь любой может создать класс-наследник и не добавить нужные поля, и получится ошибка. Класс не должен обращаться к полям/методам, которые появятся только в его потомках. Также, у тебя никак не документировано, что нужно добавить поля при наследовании, и никак не проверяется это.

В твоем случае надо сделать абстрактные методы вроде getDefaultRate, и тогда PHP гарантирует, что нельзя будет унаследоваться, не определив эти функции. А программист, видя абстрактные методы, легко поймет, что надо их реализовать.

> array_map(function ($employee) use ($department) {
> $department->dismissEmployee($employee);
Когда видишь в коде array_map, то ожидаешь, что ее используют для создания нового массива. Ты же используешь ее для побочных эффектов в виде увольнений. Это нелогично. Тут нужно использовать цикл или array_walk.

> $employee->getJob()->setRate(1100)->setCoffee(75);
Не очень хорошо, что Job изменяемый. Что, если ты случайно присвоишь двум работникам один Job? Тогда и зарплата поменяется сразу у двух. Если бы объект Job был неизменяемым и setRate() создавала бы новый объект Job, такая ситуация была бы исключена.

> $leader = $department->getLeader();
> if (!($leader instanceof Analyst)) {

Здесь ошибка: getLeader() возвращает объект класса Employee, и instanceof всегда будет возвращать false. Тестирование программы выявило бы ошибку. Надо было мне (автору задачи) написать ожидаемые цифры, чтобы можно было сверить свою программу с ними.

Для смены лидера логично было бы сделать функцию в Департаменте. Наверно, все-таки это ответственность Департамента.

Аноним 2022/01/14 23:32:29  №2265338 441
>>2263683

Нет, я не говорил, что надо каждое поле делать отдельным классом. Я лишь имел в виду, что каждый класс должен быть в отдельном файле.

В данном случае можно сделать один класс "валидатор", отвечающий за проверку данных, а в нем нужное количество методов.


>>2265088

В индексном файле логика только для ручного тестирования программы. Сами классы оформлены как положено.

> Изучи MVC.
Это не веб-приложение, зачем тут MVC?

> Интерфейсы изучи зачем и как писать.
И зачем тут интерфейсы?

> Тоже дели код, в идеале ОДИН ПАБЛИК МЕТОД на класс, что вы всё в один класс пихаете.
Я плохо это понимаю. Вот у тебя есть класс Работник, у него есть методы получить зарплату, поменять зарплату, получить ранг, поменять ранг, и так далее. Ты предлагаешь его на 10 классов по одному методу разбить? Чушь какая-то.

Количество методов определяется количеством операций, которые можно выполнить над объектом.
Ответы: >>2265607
Аноним 2022/01/15 05:37:20  №2265369 442
>>2265335
Спасибо за комментарий, ОП.

>Ох, сколько ты будешь мучаться во второй части задачи из-за такой формы хранения информации...
Я так понял, что нельзя использовать объект в качестве ключа ассоциативного массива. А как еще можно хранить количество сотрудников с одинаковыми параметрами? Создать отдельный класс staffUnit, и использовать его объекты вместо массива ['employee'=>$employee, 'amount' => $amount] ?
Ответы: >>2266392
Аноним 2022/01/15 11:39:10  №2265607 443
11244648.jpg (38, 860x483)
483x860
>>2265227
А кто тебе сказал что Солид священная корова и контроллеры не нарушают Солид? ActiveRecord паттерн с моделями тоже нарушают, загугли.
Это исключения, для удобства не везде надо солид. Незачем модель делить. Но блять не для зелёных трейни, им надо солид пихать везде куда только возможно, потому что только с помощью солида ты будешь правильно писать приложения. У его нет ни билдеров, ни контроллеров, простые классы.

>>2265336
>>ООП там вполне нормальный.

>>2265338
>>И зачем тут интерфейсы?
>> зачем тут MVC?
>> солид это Чушь какая-то
>Количество методов определяется количеством операций, которые можно выполнить над объектом.

А нет анон, всё правильно делаешь, ты же у нас сеньёр-помидор, всё знаешь, опыта наверное лет 5 разработки на проде. Чего ещё ожидать от двача, в принципе, лол. На собеседованиях тебе быстро мозги вправят, погнав ссаными тряпками с твоим "да нахер здесь нужны интерфейсы с вашей расширяемостью", ахах.
Так что ты на правильном пути, так держать, анон

Ответы: >>2266393
Аноним 2022/01/16 00:21:02  №2266392 444
>>2265369

> Я так понял, что нельзя использовать объект в качестве ключа ассоциативного массива.

В массиве ключом может быть только число или строка. Но если ты используешь стандартный класс SplObjectStorage, то там можно использовать объекты как ключи.

Но я имел в виду не это. Твой способ хранения вполне подходящий.

Я имел в виду, что решение хранить сотрудников в виде групп одинаковых сотрудников помешает тебе при решении второй части задачи, когда тебе надо будет делать какие-то операции только с частью сотрудников. Дойдешь, увидишь.

Аноним 2022/01/16 00:23:02  №2266393 445
>>2265607

> А нет анон, всё правильно делаешь, ты же у нас сеньёр-помидор,

А какая разница, какая у меня должность? Я стараюсь аргументировать, почему надо делать так или иначе, а ты просто приходишь и пишешь "так нельзя" без каких-либо пояснений. Так не годится.
Ответы: >>2266476
Аноним 2022/01/16 07:20:42  №2266476 446
>>2266393
а ты просил разжевать? Ты начал с пререканий, вместо мольбы подробнее пояснить. Я тебе что, училка в бесплатной гос.школе?

100$/час, разложу в скайпе по полочкам. Умей платить за информацию и чужое время, нахлебник. Тебе достаточно краткой характеристики твоего говнокода, ты даже за это спасибо не сказал. Можешь вообще даже ООП не использовать, мне как бы по барабану на тебя, лол.
Аноним 2022/01/16 09:09:35  №2266537 447
>>2265088
>в идеале ОДИН ПАБЛИК МЕТОД на класс
Хуйня собачья. Для каждого закрытого свойства создаются открытые свойства, get set в большинстве случаев.

>>2265170
>Публичных методов нужно столько, сколько нужно для работы
Тоже не совсем верно. Принцип единой ответственности нам гласит, что у одного класса должна быть одна ответственность.
Т.е например ты создал 2 закрытых свойства, написал для каждого геттер с сеттером и больше в этом классе методов быть не должно.

>>2265227
>Публичные методы не имеют никакого отношения к SOLID
Вэб макака детектед. Прочитал, ничего не понял и выучил текст для собеседований так ничего и не поняв?
Ответы: >>2266545 >>2266549 >>2266570
Аноним 2022/01/16 09:16:05  №2266545 448
>>2266537
Для особо одарённых поясню, методы должны устанавливать значение для свойства или его предоставлять, но никак не манипулировать этим значением т.к это будет уже нарушать Принцип открытости/закрытости.
Ответы: >>2266563
Аноним 2022/01/16 09:19:44  №2266549 449
>>2266537
A class should have one, and only one, reason to change. R. Martin

Где? Если почитаешь Мартина, то найдешь, что он говорит о том что у кода должен быть один пользователь (один отдел компании со своими специфичными проблемами).
Ответы: >>2266553
Аноним 2022/01/16 09:21:57  №2266553 450
>>2266549
У него термин Actor используется
Аноним 2022/01/16 09:30:09  №2266563 451
>>2266545
Принцип открытости/закрытости

Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.

Ты как-то странно этот принцип понимаешь. Все тимлиды на собесе с тобой будут не согласны. Обычно от тебя ждут что ты скажешь: нельзя изменять существующий код, а только добавлять новый. Если код требует изменения существующих классов, методов при добавлении фичи, то это негодный код.
Аноним 2022/01/16 09:34:07  №2266570 452
>>2266537
>ты создал 2 закрытых свойства, написал для каждого геттер с сеттером и больше в этом классе методов быть не должно
Дружок, ты дальше энтити-классов не проходил, да? Зачем ты лезешь к людям спорить о том, в чём не разбираешься? Если тебе интересно, то просто задай вопрос, а не пиши хуйню, покаывая себя клоуном.
Аноним 2022/01/16 15:27:21  №2266967 453
Привет, пытаюсь добавить value в input, но строка обрезается по пробелу (наверное).

1 строка это то, что в строке содержится. 2 строка, что получается вставить.
Ответы: >>2267221
Аноним 2022/01/16 19:15:33  №2267168 454
15387566838440.jpg (34, 560x560)
560x560
Объясните, бекендовый язык редактирует конечную страницу после того, как с клиента пришла информация?
Понятно, что это может произойти с использованием одного лишь js, но только в рамках сессии, потом изменения сбросятся как вкладку закроют.
А чтобы обновить сам статичный документ на уровне самого файла нужно, получается, проитерировать его содержимое и расставить все теги с новой информацией скриптом?
мимо пытаюсь начать фуллстечить.
Ответы: >>2267221
Аноним 2022/01/16 19:49:22  №2267221 455
>>2266967
Привет. Где код? Нам угадывать что у тебя там неправильно написано может быть или телепатов позвать?

>>2267168
>бекендовый язык редактирует конечную страницу после того, как с клиента пришла информация?
Бекенд только данные вставляет и собирает страницу из кусков если без микросервисов. Обычно подстановка данных идёт "на лету" - на каждый запрос пользователя.

>чтобы обновить сам статичный документ на уровне самого файла нужно
Никаких статичных файлов - страница собирается из готовых кусков каждый раз.
Либо микросервисы, когда она на клиенте собирается из данных, которые из бека идут. Но там уже бекенд только клиентское приложение отдаёт и обеспечивает нужные API эндпоинты.

Думаю рано тебе ещё в фулстаки подаваться - странные вопросы задаёшь.
Ответы: >>2267409
Аноним 2022/01/17 00:26:48  №2267359 456
16423674157400.jpg (182, 1000x675)
675x1000

Аноним 2022/01/17 06:16:35  №2267409 457
>>2267221
Там буквально то, что я написал.

<?= data['city'] ?>
и
<input type="text" value=<?= data['city'] ?>>
Ответы: >>2267542
Аноним 2022/01/17 08:30:08  №2267542 458
>>2267409

Значения атрибутов надо брать в кавычки.
Ответы: >>2267839
Аноним 2022/01/17 09:07:15  №2267587 459
Так, анон, подскажи мне. Есть тестовое задание на qa (и я не прошу его за меня делать). Нужно на некой странице поменять язык с помощью js (мне показалось, в целом, задача больше для этого треда, хз почему). На странице нет кнопок никаких для переключения языка, зато в коде страницы в <head> есть куча строк типа:
<link rel="alternate" hreflang="de" href="https://сайтнейм.com/cp/?lang=de">

Вопрос то в том: что от меня ждут то? Ну то есть я не шарю в html и в js, и в задании написано что надо не знать, а суметь загуглить и решить задачу. И из-за того что я не шарю я и не могу понять - мне что, просто рандомную ссылку скриптом открыть и всё? Задание в открытом доступе, с работадателем я не в контакте пока, так что спрашиваю не там, а тут.
Ответы: >>2267726 >>2267747 >>2267795
Аноним 2022/01/17 11:16:51  №2267726 460
>>2267587
>что от меня ждут то?
Что ты бесплатно напишешь ребятам код, а они тебе откажут. Плавали знаем.
Ответы: >>2267747 >>2267763
Аноним 2022/01/17 11:27:20  №2267747 461
>>2267587
>Нужно на некой странице поменять язык с помощью js
Если там реальная страница в сети, а не тестовая специально запиленная, то это не тестовое, а рабочая таска. Дропай их.

>>2267726
Двачую.
Ответы: >>2267763
Аноним 2022/01/17 11:37:25  №2267763 462
>>2267747
>>2267726

Да, вы не поняли. Страницы уже существуют на куче языков. От меня просто ждут 1-2 строчки на js, чтобы переключиться на другой язык. Короче, я сделал сначала так:

window.location.replace("https://сайтнейм.com/cp/?lang=ru")

Но я засомневался, того ли они хотят. И вот такую поеботу родил.

function replaceUrlParam(url, paramName, paramValue)
{
if (paramValue == null) {
paramValue = '';
}
var pattern = new RegExp('\\b('+paramName+'=).?(&|#|$)');
if (url.search(pattern)>=0) {
return url.replace(pattern,'$1' + paramValue + '$2');
}
url = url.replace(/[?#]$/,'');
return url + (url.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue;
}


window.location.replace(replaceUrlParam(window.location.href,"lang", "en"))


А потом чтобы туда-сюда само:

function replaceUrlParam(url, paramName)
{
\tvar paramValue = "en";

var pattern = new RegExp('\\b('+paramName+'=).
?(&|#|$)');
if (url.search(pattern)>=0) {
\t\tif (url.indexOf("lang=en")>=0) {
\t\tparamValue = "ru";
\t}
return url.replace(pattern,'$1' + paramValue + '$2');
}
url = url.replace(/[?#]$/,'');
return url + (url.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue;
}


window.location.replace(replaceUrlParam(window.location.href,"lang"))
Ответы: >>2267768
Аноним 2022/01/17 11:39:16  №2267768 463
>>2267763
Ожидаемо макаба насрала мне в штаны. Ну суть вы и так поймёте.
Вопрос в том какого решения от меня ждут.
Ответы: >>2267777
Аноним 2022/01/17 11:48:54  №2267777 464
>>2267768
>Вопрос в том какого решения от меня ждут.
Так у них и спроси.
Ответы: >>2267787
Аноним 2022/01/17 11:54:18  №2267787 465
>>2267777
Понятное дело. Но надо начальный вариант какой-то отправить вместе с вопросом.
Ответы: >>2267911
Аноним 2022/01/17 12:05:20  №2267795 466
>>2267587

Я не очень понял суть задания. Ты пишешь автоматизированный тест, который должен протестировать переключение языков на сайте? Или же ты пишешь тест, который переключит язык и затем протестирует какую-то страницу на этом языке?

Тут есть несколько вариантов действий, в зависимости от устройства сайта. В любом случае, тебе надо сначала определить, как на сайте переключаются языки: автоматически или какой-то кнопкой, или какой-то страницей, или по GeoIp.

Если сайт определяет язык по HTTP-заголовкам, тебе надо просто их выставить. Если по GeoIP, то надо как-то имитировать вход с нужного IP-адреса. Если кнопкой, то надо программно нажать эту кнопку.

Для ускорения теста, можно, конечно, менять ссылку, но это не очень надежно.

Твой код довольно костыльный. URL надо разбирать не регулярками, а предназначенным для этого кодом, который разделяет URL на составные части, корректно кодирует/декодирует их и собирает обратно.
Ответы: >>2268132
Аноним 2022/01/17 12:37:19  №2267839 467
Аноним 2022/01/17 13:04:53  №2267872 468
>>2264366
> каждая вторая хрюша разворачивает, узнав что я не могу разговаривать на английском
Нахуя это надо вообще, ты сам должен с заказчиком общаться или что?
Аноним 2022/01/17 13:33:08  №2267911 469
>>2267787
>Но надо начальный вариант какой-то отправить вместе с вопросом
Зачем? Тебе надо тестовое уточнить чтобы было предельно понятно что от тебя требуется.

А то начинается уже:
>Вопрос в том какого решения от меня ждут.
>От меня просто ждут 1-2 строчки на js, чтобы переключиться на другой язык.

Имхо у тебя там совсем мутное чего-то или ты так объяснил. Зачем QA в тестовом переключать языки на жс? Это работа разработчика, а не тестировщика.
Ответы: >>2268132
Аноним 2022/01/17 14:57:17  №2267997 470
Делаю то-до лист на ларавеле и раскидываю свою резюмеху везде, норм план?
Ответы: >>2268301
Аноним 2022/01/17 16:45:24  №2268132 471
>>2267911
У них раньше вообще требование к вакансии было "уметь создавать всё что есть в веб: сайты, скрипты, что-то там ещё". Сейчас переделали. Я вкатун, я не то чтобы могу выбирать.

>>2267795
Задание:

С помощью JavaScript изменять язык на  https://хззачемяскрываюсайт/cp/

В этом задании не нужно знать JavaScript на среднем или высоком уровне. Главное — исследовать и понять, как именно меняется язык и нагуглить скрипт в 1-2 строки.

Ожидаемый итог — JS-скрипт, который при вставке в консоль браузера изменит язык на my.сайт.com

Ответы: >>2268146
Аноним 2022/01/17 16:51:22  №2268146 472
>>2268132
>У них раньше вообще требование к вакансии было "уметь создавать всё что есть в веб: сайты, скрипты, что-то там ещё". Сейчас переделали. Я вкатун, я не то чтобы могу выбирать.
Ты, скорее всего, просто время с ними теряешь. Вот и всё.
Лучше ищи конторы с нормальными тестовыми, на которых можно чему-то научиться и показать потом - типа это я зделол.

>уметь создавать всё что есть в веб: сайты, скрипты, что-то там ещё
Вангую школота или студенты тупенькие там сидят. Никакая херочка так не напишет.
Ответы: >>2268545
Аноним 2022/01/17 19:10:43  №2268301 473
Ответы: >>2268325
Аноним 2022/01/17 19:13:21  №2268307 474
Где искать вакансии или фриланс совсем начинающему ?
Ответы: >>2268329 >>2268539
Аноним 2022/01/17 19:26:10  №2268325 475
>>2268301
Да я думаю всем похуй на гитхаб, работадатели вкурсе что 90% тупо код копипастят, я для приличия тудушку залью.
Ответы: >>2268352
Аноним 2022/01/17 19:29:53  №2268329 476
>>2268307
Совсем начинающие никому не нужны. Если тебе кажется, что с тобой кто-то сидеть будет и учить тебя, а потом ещё и платить за это, то ты это зря. Обычно дают таску, пару напутственных и вперёд, могут только пиздюль дать чтобы быстрее работал.
Ответы: >>2268539
Аноним 2022/01/17 19:59:11  №2268352 477
>>2268325
Думаешь у тебя знаний достаточно, если ты много чего не применял(я про фичи лары)?
Ответы: >>2268444
Аноним 2022/01/17 20:55:14  №2268421 478
Есть годный гайд по симфони? Ну кроме официальной доки.
Ответы: >>2268427
Аноним 2022/01/17 21:05:24  №2268427 479
Аноним 2022/01/17 21:36:26  №2268444 480
>>2268352
Джуна по фреймворку особо не гоняют, скорее спрашивают базу и алгосы.
Ответы: >>2268446
Аноним 2022/01/17 21:38:14  №2268446 481
>>2268444
У джуна спрашивают алгоритмы?
Ответы: >>2268459
Аноним 2022/01/17 21:54:38  №2268459 482
>>2268446
Да нет никаких джунов, вы заебали. Есть либо тот, кто ничего не умеет и его никто на работу не возьмёт, либо тот кто умеет, но его берут подешевле, типа "джун". Есть куча мест, где "синьоры" пишут код на уровне помойки.
В этом весь секрет.
Ответы: >>2268461
Аноним 2022/01/17 21:55:55  №2268461 483
>>2268459
>Есть куча мест, где "синьоры" пишут код на уровне помойки.
И вы там у них будете как джуны работать со своими алгоритмами.
Аноним 2022/01/18 04:03:15  №2268539 484
>>2268307
Ну где? Там же где и все. Я вот почти устроился qa в контору, которые на маженто делают магазинчики. У них прямо было написано что ищут начинающих пхп программистов. Вот сейчас нагуглил вакансию: https://ulyanovsk.hh.ru/vacancy/39153634
Но начинающих они берут только на очную испыталку, если ты не местный, но извини. Потому я туда и не пошёл. Даже уговаривали, сказали всего 1.5 месяца в офисе посидишь (это для qa, разрабам 2 месяца) и на удалёнку пойдёшь. Но я отказался по своим причинам.
>>2268329
>Совсем начинающие никому не нужны. Если тебе кажется, что с тобой кто-то сидеть будет и учить тебя, а потом ещё и платить за это, то ты это зря.
Ты не прав. С одной стороны, нужно вкатунов держать трезвыми, чтобы особо в сказки не верили, но "сидеть и учить тебя, а потом ещё и платить" это реальность российского ит. Люди заканчивают университет по ит специальностям и улетучиваются ровно так же как юристы с экономистами. У знакомого сишарпового кабанчика из его группы только он и ещё человека два пошли в ит, остальные прозябают в обычных нищих сферах труда. Так что у контор есть несколько путей: или ты бегаешь за спецами и конкурируешь с москвой по зп, или ты набираешь максимально неамбизиозных макак, или ты, внезапно, "сидишь, учишь, а потом ещё и платишь". У меня местная аутсорс контора учит бесплатно, потом себе набирают. Контора, что я кинул выше, тоже учит бесплатно под себя. Так что "воспитать под себя" это не только мечты инцелов из б, это ещё и рыночная практика в регионах.
Ответы: >>2268747
Аноним 2022/01/18 04:24:08  №2268545 485
>>2268146
Чел, я тебя отлично понимаю. Но ты сейчас смотришь с позиции сытого. А я голодный. Мне эту контору друзья хвалят, кое-кто даже предлагает обкашлять вопросики. Я не собираюсь дропать контору потому что у них вакансия составлена КРАЙНЕ СТРАННО. HR курочке сказали найти qa, она погуглила и написала как могла. Да, контору это не красит. И в других обстоятельствах это сигнал "стоп", но я qa вкатун после курсов. Конкуренцию себе представил? Нас легион. Я резюме разместил в ноябре, у меня 1 собес был (охуенный, но я сам отказался). Потому что нихуя никто на отклики не отвечает, а я сам не откликаюсь почти, потому что в каждой первой вакансии требуют знать какую-то совершенно анрелейтет для qa поеботу или опыт от трёх лет за 40к или ещё что-то там. Ну ещё потому что я шизоомежное уёбище. Чел, с которым я учился на qa напиздел (крайне топорно) про опыт и сидел ещё выбирал. 8 собесов за 2 недели. И не спрашивай "что мешает и тебе напиздеть?". Не знаю как можно без знания внутренних процессов изобразить что знаешь.
Аноним 2022/01/18 09:12:14  №2268747 486
>>2268539
>Вот сейчас нагуглил вакансию: https://ulyanovsk.hh.ru/vacancy/39153634
Эта вакансия третий год висит, спамили ей как сумашедшие. Я как-то смотрел что там за контора и сильно похоже, что они курсы продают вкатунам таким хитрым способом.
Ответы: >>2268793 >>2271884
Аноним 2022/01/18 09:27:26  №2268767 487
Че-то я учил ебаную джаву, дошел до спринга и обосрался с того сколько вариантов одного и того же там нужно знать чтоб получить работу. Нет, я вот серьезно, там даже вариантов ОРМ штук дессять в пределах одного блядь фреймворка. Я ебал эту хуйню
А еще эта компиляция ебаная по 5 минут (да у меня калькулятор)


Можно ли к вам вкатиться? Вроде вакансии в моем мухосранске есть. Реально ли освоить это говно за короткие сроки после джавы? Еще когда-то учил жабускрипт, примерно себе представляю как SPA написать.
Но с жабы у меня лютый депрессняк, хоть вешайся.
Ответы: >>2268857 >>2271884
Аноним 2022/01/18 10:00:04  №2268793 488
>>2268747
Не знаю на счёт пхп, у меня было так: мне написала на почту, а потом позвонила hr, спросила ищу ли я работу qa, хочу ли я тестовое сделать. Согласился, сделал тестовое. Обычное такое тестовое - найти баги на их полигоне, расписать как бы тестил что-то там. Отослал. Ещё анкету заполнил стандартную. Перезвонили, наверное, через день, сказали что всё очень хорошо и предложили в офис приехать на интервью. Сказал что я работаю и мне неудобно. Согласились во время обеда моего по видеосвязи. Скинули ссылку с ознакомительным видео. Там дядя с таким низким голосом просто и будто без заготовки рассказывает что и как они делают, как у них новички вкатываются и всё такое. Всё именно про разработку, про qa ни слова. Типа 2 месяца с ментором учишься на учебных задачах, через два месяца уже в продакшен. Если ты крутой, то раньше. Это ты уже устроен и зп получаешь.
Ну пообщались. Сначала дядя (гендир типа) представился, спросил про цикл жизни по. Я рассказал. Спросил есть ли общие вопросы. Я спросил как вещи из видео переносятся на qa. Сказали, что всё то же самое, но на продакшен быстрее выводят, где-то месяца за полтора. Ну он откланялся и ушёл и я остался с двумя челами qa. Поспрашивали по теории тестирования и только по ней. Я отстрелялся хорошо вполне, чувствовал себя уверенно. Попрощались, обещали обратную связь через 2 дня.
Пока ждал, понял что в офис не пойду работать, обрадовался что сами не перезвонили через 2 дня. Через неделю звонок, типа вот мы закончили цикл собеседований, вы среди "позитивных" кандидатов, приезжайте в офис пообщаться. Я промычал что приоритеты изменились и в офис не пойду. Потом ещё раза 2 звонили, приглашали на стажировку какую-то, спрашивали не изменились ли у меня обстоятельства, "уговаривали" типа на испыталке только офис, дальше можно на удалёнку.
Я подвоха не заметил, если честно. Уж слишком дохуя усилий такую ширму возводить, когда лох и так готов платить за двухнедельные курсы дата саентиста. Что конкретно тебя смутило? Мои друзья из местного ит ничего про эту контору не слышали, кстати.
Ответы: >>2268798 >>2268815
Аноним 2022/01/18 10:04:18  №2268798 489
>>2268793
Забыл сказать, что за всё время мы ни разу не обсуждали деньги. У меня в резюме 60к стояло, в анкете я 50к указал. Трудно поверить что местная контора без вопросов согласились. У нас тут жадные пиздец. Хотя я тут про тестовое спрашивал выше, на той вакансии 45-65, тоже местные.
Аноним 2022/01/18 10:17:29  №2268815 490
16273953678240.jpg (49, 600x439)
439x600
>>2268793
>Уж слишком дохуя усилий такую ширму возводить
Да я не знаю какой у них там развод, но факт в том, что они 3 года вакуху с такими элементарными требованиями закрыть не могут - за это время армию джунов можно собрать и какую-нибудь небольшую страну завоевать. К тому же видел как их херочки активно спамили этой ваканисией в вк темах где разрабы сидят.
Это всё очень нездоровая хрень и лучше не связываться.
Ответы: >>2268821
Аноним 2022/01/18 10:23:27  №2268821 491
>>2268815
Ну так там магазины клепают под заказ, может они 20 команд уже собрали? Я поспрашиваю ради интереса, есть кабанчики, которые в любую дырку пролезут. Я с ними уже точно всё.
Аноним 2022/01/18 10:46:30  №2268857 492
>>2268767
После жавы все быстро и просто, только приличных симфони вакансий на джунов в мухосранях небось нет
Ответы: >>2268914
Аноним 2022/01/18 11:32:17  №2268914 493
>>2268857
мне хоть какую-то. готов хоть за бесплатно первое время работать.
Аноним 2022/01/20 01:29:09  №2271132 494
Я новичок, прошёлся по шапке треда, некоторым обучалкам, но есть ощущение разрозненности и потерянности, поэтому вопрос: существуют курсы (платные или собранные аноном из разных источников — неважно), где всё, скажем так, в одном месте, и ты идёшь от простого к сложному, получаешь какую-то базу, после которой тебя можно хотя бы с натяжкой назвать начинающим специалистом. А то приходится топтаться на одном месте много раз, прежде чем двинуться дальше.

Я уже даже готов забашлять денег, но понимаю, что там то же самое в целом. Может где-нибудь можно скачать актуальные курсы?
Аноним 2022/01/20 10:16:58  №2271384 495
>>2271132
>прошёлся
Вангую ты точно так же пройдёшься по курсу и точно так же останешься разрозненным и потерянным. Работать над задачками надо, вычитывать что там написано, практиковаться, самому уметь искать нужное и гуглить непонятное. И писать-писать-писать всякие петы, ковыряться в CMSках и коде с гитхаба.
Тебе никакой курс не поможет на мой взгляд.
Аноним 2022/01/20 10:48:30  №2271408 496
image.png (7, 977x97)
97x977
Аноны, только не смейтесь. Что я не так делаю?
Ответы: >>2271414
Аноним 2022/01/20 10:53:11  №2271414 497
>>2271408
Ты что, дурачок? Там же написано.
Ответы: >>2271415
Аноним 2022/01/20 11:00:05  №2271415 498
>>2271414
Точку с запятой надо поставить? Поставил. Теперь пишет Could not open input file:. Хотя путь верный указал
Ответы: >>2271465 >>2271488
Аноним 2022/01/20 11:57:45  №2271465 499
>>2271415
Ну значит у тебя в канплуктере черти завелись и файл прячут когда его твой скрипт запрашивает. Вызывай отца Филофея для процедуры изгнания бесов.
Аноним 2022/01/20 12:22:46  №2271488 500
>>2271415
Я стесняюсь спросить, но где именно ты ее поставил?
Ответы: >>2271501
Аноним 2022/01/20 12:35:08  №2271501 501
>>2271488
В конце, но я вроде разобрался. Скачал нотепад ++ и заработало
Аноним 2022/01/20 12:52:29  №2271518 502
>>2271132

Я могу предложить другую идею: ты находишь курсы, даешь ссылки на оглавление/список тем и анонимные эксперты расскажут, чего там не хватает.

Подвох с платными курсами в том, что часто они как раз не покрывают все, что нужно. Например, курс по PHP может не рассказывать нормально про ООП, или про SQL, или про инъекцию зависимостей.

Если ты хочешь быть специалистом, то вот что примерно тебе надо знать:

Бекенд:

- язык PHP
- ООП в PHP
- Dependency Injection, архитектура MVC
- шаблонизаторы
- SQL
- работа с БД из PHP: PDO, ActiveRecord или DataMapper
- возможно, какой-то фреймворк вроде Symfony или Laravel

Фронтенд:

- основы HTTP
- HTML, формы в HTML
- CSS
- JS

Общее:

- концепции устройства ОС: файлы, процессы, пользователи, права, сокеты Беркли
- основы командной строки Linux
Ответы: >>2275169
Аноним 2022/01/20 13:01:53  №2271524 503
Кто-то на галерах реально смотрит проекты вкатуна, которые он с вероятностью 99% просто скопипастил с туториалов? не лучше ли просто как только получил базу и для себя сделал пару велосипедов, сразу откликаться на все вакухи?
Аноним 2022/01/20 18:43:04  №2271884 504
image.png (5, 845x89)
89x845
>>2268747
>Эта вакансия третий год висит
Коротко о том как писать себе проекты бесплатно:
Создаёшь вакансию > на неё откликаются > предлагаешь сделать тестовое > делают > отказываешь и колесо сансары даёт оборот.

>>2268767
>Можно ли к вам вкатиться?
Вкатывайся лучше в решётки, будет больше персектив.

>>2271132
>Я уже даже готов забашлять денег
Вкатуны как всегда готовы платить за то, что лежит бесплатно в документации и прочих ресурсах.
Придумай себе идею сайта и начинай его потихоньку реализовывать, да, будет лютый говнокод, но это куда профитнее курсов да ещё и бесплатно.
Аноним 2022/01/21 00:28:02  №2272040 505
Как из шлепальщика цмсок перекатиться в годного бэка?
Ответы: >>2272228
Аноним 2022/01/21 09:43:20  №2272228 506
>>2272040
Без задач -- никак. Иди в максимально байтоёбскую/промышленную контору, если уж так хочется.
Аноним 2022/01/23 22:29:12  №2275169 507
>>2271518
Как же болит голова от программирования.
То ли затекает то ли просто усталость.

Странное чувство от того что код сам пишется уже почти наизусть и не застреваешь как раньше.

Наверное скоро вкачусь.
Ответы: >>2275205
Аноним 2022/01/24 00:12:36  №2275205 508
>>2275169
У меня один раз болела - когда я 12 часов пилил роутер для своего фреймворка. Сейчас конечно это всё смешно выглядит, но тогда ебать упахался. Код был говно, запутался в трёх функциях и в целом хуйни понаписал. Башка, правда, болела натурально.

>код сам пишется уже почти наизусть и не застреваешь как раньше.
>Наверное скоро вкачусь.
Не, ты только синтаксис изучил - с таким не берут ещё. Как по гиту, MVC, ООП, http? Это минимум для работы и обычно к этому добавь вёрстку и жс.
Аноним 2022/01/24 10:41:16  №2275474 509
9f9.jpg (3, 200x200)
200x200
Оп-хуй хочет на полном серьезе кого-то учить программированию по типовым задачкам, которые тупо надо знать как решать?

Программирование уровня /pr/
Ответы: >>2275476 >>2275501
Аноним 2022/01/24 10:44:38  №2275476 510
>>2275474
Как научиться тогда?
горе-вкатун
Ответы: >>2275478
Аноним 2022/01/24 10:46:22  №2275478 511
>>2275476
Да хуй знает, но учебник оп-хуя напрочь отбил желание вообще че-то учить. Так и сижу уже год афк чилю, работать пойду в макдак.
Ответы: >>2276062
Аноним 2022/01/24 11:17:28  №2275501 512
>>2275474
А я его и не читал лол
Аноним 2022/01/24 12:54:15  №2275596 513
Ответы: >>2275646 >>2276057
Аноним 2022/01/24 13:44:51  №2275646 514
Аноним 2022/01/24 20:06:01  №2275970 515
Посмотрел резюмехи пхпшников из своей мухосрани, было всего около 170, в ~160 cтоит возраст 25+ и там почти все какая-та греча с заводов, кассиры, курьеры, таксисты без опыта в айти, а те кто моложе, наоборот все дохуя опытные и требуют от 100к самый минимум, я так понял в моей мухосрани, либо джунов нормальных нет, либо они все позакрывали резюме, меня это прям приободрило.
Ответы: >>2276807 >>2276807
Аноним 2022/01/24 22:28:22  №2276057 516
>>2275596

Логика программы правильная и ответ сходится. Но код написан не оптимально и не очень читаемо.

Во-первых, код надо отформатировать. Не так:

> for($month=1;$debt>0;$month++){

А так (добавлены пробелы):

for ($month = 1; $debt > 0; $month++) {

Надо поправить отступы, код внутри for должен быть сдвинут вправо.

Также, в коде много раз повторяется выражение $debt*$ratePercent+$rateFlat - надо избавиться от повторов.
Ответы: >>2276058
Аноним 2022/01/24 22:36:06  №2276058 517
>>2276057
В вакансиях наряду с пхп часто битрикс идет вдобавок, не планируется добавить главу про это в уроки из шапки?
Ответы: >>2277814
Аноним 2022/01/24 22:55:07  №2276062 518
>>2275478
А я читал и делал всё вплоть до файлового хостинга на Слиме. Потом ещё возвращался и перечитывал потому, что много упустил.
Ещё курсы украл на торрентах и их смотрел - что-то около 70 часов в общем. Это по ПХП только, а ещё с вёрсткой возился, жаваскриптом. Учебник реально годный и много хороших советов там.
Сейчас работаю 5 месяцев уже.
Ответы: >>2278052
Аноним 2022/01/24 23:10:04  №2276065 519
Тут выше обсуждали курсы, по которым нифига не научишься, а деньги платишь при этом.
Так вот нашел вакансию "ученика программиста на пхп"
>тестовое задание (знание программирования не требуется) как условие для начала обучения
Это как вообще понимать?
>срок обучения до 2-х месяцев с последующей стажировкой
Что можно изучить за такой срок? Тут люди пишут про 7 месяцев минимум.
Еще и 5к "стипендии" платят, в чем подвох? И самое главное в чем им профит?
Ответы: >>2276069
Аноним 2022/01/24 23:16:27  №2276069 520
>>2276065
Дома ты учишься по паре часов, лениво листая книгу или делая очередной игрушечный круд, в лучшем случае, а в худшем смотришь курсы от васяна, про то как переменную объявить и в цикле вывести все четные числа, на нормальной стажировке от компании, ты будешь 8 часов сидеть, разбирать реальные кейсы с возможностью задать вопрос напрямую уже работающим программистам миддлам+.

Эти 2 месяца будут плодотворнее, чем год того, о чем я выше написал.
Ответы: >>2276168
Аноним 2022/01/25 07:40:15  №2276146 521
Как laravel учить? Дайте гайдоа
Ответы: >>2277071
Аноним 2022/01/25 08:06:19  №2276168 522
>>2276069
Да я не спорю про плодотворность, я просто удивляюсь, какое может быть тестовое без навыков программирования и зачем им учить кого-то да еще и приплачивать немного за это. Сейчас вроде нет недостатка в (малоквалифицированных) вкатунах.
Аноним 2022/01/25 08:12:54  №2276173 523
>>2276168
Да учи все сам епт, гайдов полно. + ищи ребят из разработки, они не против будут помочь в 95% случаев
Аноним 2022/01/25 10:05:20  №2276291 524
>>2276168
Так ты попробуй к ним откликнуться - сделай вид, что начинающий вкатун и дурак при этом. А там и увидишь всё. Главное не подписывай им ничего и данные свои не присылай.
Так-то правильно подвоха ждёшь - слишком халявно выглядит, не бывает так. Если такое выложить, то к вечеру уже почта\телега треснут от резюме вкатунчиков с курсов.

Возможно у них тестовое какой-то с подляной. В любом случае если увидишь там кидалово какое-то, то не лишним будет сюда имя этой шарашки и суть кидалова прислать. Или в мы-вам-перезвоним тред.
Аноним 2022/01/25 10:08:59  №2276298 525
Часто ли приходится читать исходный код чего-либо (в основном вопрос к готовым либам)? Почему собственно такой вопрос - ОП в задаче про файлообменник на слим написал про него:

>Там изучать-то нечего, это микрофреймворк, весь его исходный код наверно можно за пару часов прочесть.

Что я получу от того, что прочитаю весь исходный код вместо документации? И под исходным кодом понимается вся папка вендор, или только слимовские пакеты?
Ответы: >>2276307 >>2277824
Аноним 2022/01/25 10:19:19  №2276307 526
>>2276298
ОП это выражение просто как пример небольшой библиотеки привёл - типа за день можно разобраться где там и что, если надо.
Сам код читать приходится часто, но всегда лучше начинать с документации. В дебри лезут только по необходимости - когда что-то работает не так как ожидалось. мне приходилось в этом Слиме ковыряться как-то, да и не только в нём
Аноним 2022/01/25 17:09:58  №2276807 527
>>2275970
>Сейчас вроде нет недостатка в (малоквалифицированных) вкатунах
>>2275970
Сейчас нет нормальных вкатунов, только в дс и дс2 из вузов куча неплохих выходит, за мкадом просто никого нет, одна греча после гикбрейнса ищет работу.
Ответы: >>2276808 >>2276818
Аноним 2022/01/25 17:10:24  №2276808 528
Аноним 2022/01/25 17:19:12  №2276818 529
>>2276807
За мкадом тоже есть вузы с IT специальностями.
Ответы: >>2276825
Аноним 2022/01/25 17:23:05  №2276825 530
>>2276818
Ты эти вузы видел и чему там преподают? Я вот в таком учился, в тетрадке писал программы на бейсике и на уроке компьютерной графики рисовал в гимпе кота в спогах.
Аноним 2022/01/25 17:28:58  №2276830 531
Нужно сделать проверку формы перед записью в бд.
Как это правильно организовать,на каждое поле пилить функцию?
Ответы: >>2277075 >>2277830
Аноним 2022/01/25 20:29:24  №2277071 532
Ответы: >>2277076 >>2277134 >>2277142
Аноним 2022/01/25 20:31:01  №2277075 533
image.png (206, 800x450)
450x800
>>2276830
1 - воспользоваться любым фреймворком или библиотекой с формой
2 - сделать ф-ции и любые доп.валидаторы на типы полей
3 - да
Аноним 2022/01/25 20:31:42  №2277076 534
Ответы: >>2277082 >>2277216
Аноним 2022/01/25 20:35:14  №2277082 535
Аноним 2022/01/25 21:20:30  №2277134 536
Ответы: >>2277137
Аноним 2022/01/25 21:22:03  №2277137 537
>>2277134
А що поделать!

Жизнь такова и больше никакова!
Аноним 2022/01/25 21:24:02  №2277142 538
image.png (319, 500x431)
431x500
>>2277071
РАБотаю symfony-кодером за $5k/mo, полёт нормальный.
Ответы: >>2277167
Аноним 2022/01/25 21:42:58  №2277167 539
>>2277142
Работаю senior'ом пиздаболом на дваче за $8k/ns
Задавайте ответы
Ответы: >>2277194
Аноним 2022/01/25 23:05:58  №2277194 540
>>2277167
похоже, ты просто случайный дурак и не интересен,
а что именно сказать хотел?
Аноним 2022/01/25 23:08:02  №2277197 541
image.png (813, 1131x660)
660x1131
Ответы: >>2277215
Аноним 2022/01/26 01:13:23  №2277215 542
>>2277197
>какой линукс ставить для РАБоты?
Я мяту себе накатил и радости не знаю предела. Долго использовал убунту, но этот неповоротливый бегемот просто проигрывает скорости и удобстве мяте.
Ответы: >>2277474
Аноним 2022/01/26 01:20:54  №2277216 543
>>2277076
>А чего не yii?
А Юи с ларавелем на чём основаны, как считаешь?
Симфония это панацея ящитаю, Битриксы, Юи и прочие это деградация.
Ответы: >>2277324
Аноним 2022/01/26 07:34:29  №2277304 544
Ку всем. Какие проекты джуну для портфолио можно сделать?
Аноним 2022/01/26 07:52:59  №2277313 545
Обожаю php, выставил отображение ошибок и предупреждений и в файле с ошибкой и в php.ini. Покажешь ошибку? По настроению. Скрипт тупо не работает, но и ошибку не выводит.

Там проблема с сохранением файла сессий.
Аноним 2022/01/26 08:14:55  №2277324 546
>>2277216
Да я нифига не знаю, просто тут местные вакансии в глуши почему-то yii хотят.
Ответы: >>2277331 >>2277519
Аноним 2022/01/26 08:27:15  №2277331 547
>>2277324
>почему-то yii хотят
Легаси параша - понаписали на нём много всего, но поддерживать некому, а сервис растёт. Yii2 уже устарел порядком, а у некоторых до сих пор даже первая версия. Да и денег за это легаси мало дают - сервис раскрутился, должны платить побольше, а вот хуй.
Аноним 2022/01/26 10:30:02  №2277474 548
Ответы: >>2277519
Аноним 2022/01/26 11:16:41  №2277519 549
>>2277324
>местные вакансии
Попробуй удалёнку поискать всяко опыт будет куда лучше нежели переписывать легаси за очередным уебаном максимум которого это Юи.
У меня опыт с легаси очень печальный был всегда, когда даже на симфонии тимлид подтягивает классы СТРОКАМИ блядь, а потом мне с красным еблищем рассказывают, что это фабричный метод нахуй. Второй 50 емейлов запихивает в одну строку, чтобы сделать рассылку онных пачкой, а я должен был исправлять его костыли.
А что там на Юи мне просто представить страшно...
Пора в решётки перекатываться с ваших пых с недокодерами на тимлидах.

>>2277474
Ну пёс его знает тогда, мне сразу без танцев и шаманства установилась нормальная мята и это просто песня в сравнении с убунтой.
Тут хуй угадаешь как оно будет работать на твоём железе, так или иначе мята куда более стабильнее убунты. Можешь чистый дебиан попробовать мне он пердак разорвал, а дальше уже линуксовые дебри как по мне.
Ответы: >>2277526 >>2277607
Аноним 2022/01/26 11:25:38  №2277526 550
>>2277519
>в решётки перекатываться
Думаешь на решётках говнокодеров нет? Эх манямир, манямир.
Ответы: >>2277534
Аноним 2022/01/26 11:30:35  №2277534 551
>>2277526
Только говнокодер на решётках это сеньёр тимлид для похапе, а говнокодер на пыхе это просто умственно отсталый дегенерат.
Ответы: >>2277587
Аноним 2022/01/26 12:14:28  №2277587 552
>>2277534
Залётыш, даже на решётках в разных конторах джуны, мидлы и помидоры часто имеют разный уровень. Что уж говорит о разных языках и сферах применения.
Свали в туман и не позорься больше.
Ответы: >>2277773
Аноним 2022/01/26 12:27:14  №2277607 553
>>2277519
>мне он пердак разорвал
why?
Аноним 2022/01/26 14:26:54  №2277773 554
>>2277587
>Свали в туман и не позорься больше.
Как пожелаешь пхп макака, ведь ты скозал.
Аноним 2022/01/26 14:55:37  №2277814 555
>>2276058

Главы про Битрикс не будет. Это не тот код, на котором стоит учиться. Но если кому-то хочется изучить его, то думаю, знания PHP + чтения документации должно быть достаточно. По Битриксу много документации, и если ее мало, то есть исходный код.
Ответы: >>2277857
Аноним 2022/01/26 15:00:31  №2277819 556
>>2276168

Значит они рассчитывают тебя обучить так, что ты сможешь выполнить за 2 месяца задач больше чем на 10 000. И я не думаю, что у них много желающих, так как "вкатунам" на курсах обещают зарплаты в 50 000 - 100 000.
Аноним 2022/01/26 15:01:49  №2277824 557
>>2276298

Приходится читать если документация скупая или в ней нет ответа. Если ты начинающий, то стоит читать код в целях изучения архитектуры фреймворка и стиля кода.
Аноним 2022/01/26 15:04:38  №2277830 558
>>2276830

Обычно делают класс-валидатор, а в нем можно уже делать методы на каждое поле. Дело в том, что иногда надо проверять не одно поле, а сочетание нескольких полей (например, что введены одинаковые пароли в 2 поля). Если ты не любишь ООП, то можно сделать отдельный файл с функциями.

Если что, урок по обработке форм, может в нем что-то есть: https://github.com/codedokode/pasta/blob/master/forms.md
Ответы: >>2277904
Аноним 2022/01/26 15:26:19  №2277857 559
>>2277814
Это типа фреймворка на пхп? Я просто даже в глаза не видел.
Аноним 2022/01/26 15:51:06  №2277904 560
>>2277830
И получить стену где объекты обращаться к методам?
Аноним 2022/01/26 17:44:41  №2278052 561
>>2276062
Сколько времени ушло на все про все?
Ответы: >>2278092
Аноним 2022/01/26 18:38:45  №2278092 562
>>2278052
Года 2 с половиной где-то.
Но я там не спешил и по-фану многое было. Например тех же студентов переписывал практически с нуля раза 3 потому, что в процессе много читал про архитектурки и ООП под бустом с курсов, и когда заканчивал очередную версию, то ловил фейспалм с говнокода и садился делать нормально. Потом когда сюда выложил показать какой-то анон сказал, что это троллинг.
Потом с файловым хостингом уже проще всё было - там на готовых библиотеках всё пилишь и больше с практикой заморачиваешься. Его не показывал уже. Тоже месяц-полтора сидел вечерами.
Позже уже была затяжная попытка выйти на фриланс и несколько всратых заказов за копейки после чего я зарёкся там работать. В процессе ковырял много всего: вордпресс, опенкарт, ларавел изучил. Ну а потом работу случайно нашёл - сразу мидлом на удалёнку взяли после тестового.
Ответы: >>2278162 >>2294032
Аноним 2022/01/26 20:28:01  №2278162 563
>>2278092
А чего джуном никуда не пробовал вместо фриланса?
Ответы: >>2278177
Аноним 2022/01/26 20:45:04  №2278177 564
>>2278162
У меня в мухосрани всего 2 конторы по этому направлению и в одной нужны только верстальщики, а во-второй какие-то неадекваты просят тестовое в архиве на почту выслать и не отвечают на высланные решения тестовых при этом у них офис от меня через дорогу.
По моим впечатлениям джунов на удалёнку как-то не очень берут. По крайней мере это те джуны, которые мидлы фактически, по скиллам. Поэтому позже уже на джуна не ходил и смотрел только по требованиям на вакансию. Подписался просто как веб-разработчик.
Ответы: >>2278183
Аноним 2022/01/26 20:46:46  №2278183 565
>>2278177
У меня к тому времени уже и портфолио было и в гитхабе примеры кода были чтобы показать.
Аноним 2022/01/26 22:01:25  №2278223 566
Такая ситуация, я щас в лютой мухосрани, где 0 вакансий пхпшника, думаю переезжать в скором времени, кто-то знает, нормально ли подаваться на вакуху в офис и пройти собес удаленно, и если все удачно, я пакую чемоданы и еду в городнейм?
Аноним 2022/01/26 22:08:00  №2278225 567
Как учить бэк? Дайте роадмапик какой-нибудь. Сейчас учу php. Далее буду в базы данных и laravel/symphony
Ответы: >>2278258
Аноним 2022/01/26 22:59:18  №2278258 568
Аноним 2022/01/27 14:27:35  №2278891 569
Аноны, выручайте: есть строка. Она проверена через preg_match и не удовлетворяет требованиям. Как получить тот символ, из-за которого она не была допущена?
Ответы: >>2278996 >>2279045
Аноним 2022/01/27 15:48:10  №2278996 570
>>2278891
Например preg_match_all, которая сохраняет совпадения в массив.

Или можешь использовать preg_replace, где заменишь то, чего не должно быть и потом сравнишь со строкой, если начальная строка и измененная не равны, тогда юзаешь str_split на начальную строку и на измененную при помощи preg_replace, потом пишешь array_diff, где тебе выдаст массив с этим/этими элементами, которые не допускаются.
Аноним 2022/01/27 16:21:43  №2279045 571
>>2278891
Попробуй сюда закинуть регулярку, и нужную строку. Там сразу покажет где проблема

https://regex101.com/
Archer 2022/01/27 22:41:33  №2279434 572
Всё, я больше никогда не посмотрю в сторону битрикса. Вкатываюсь в нормальный пхп. Я сделаю это! АААА! Я СДЕЛАЮ ЭТО! У меня еще есть полгода до 26 лет. После этого я делаю ркн, если не вкачусь. Заниматься буду по 6 часов в день, еще 4 часа толочить на еду. Я сыч, но сегодня я уверен в себе. Больше я не сдамся.

мимо старец 25 лвл
Аноним 2022/01/28 06:00:38  №2279510 573
Аноним 2022/01/28 09:56:03  №2279722 574
>>2279434
>Заниматься буду по 6 часов в день, еще 4 часа толочить на еду.
Ты это, 6 часов подряд не ебашь, сгоришь за неделю. Каждый час перерыв пять минут на зарядку, каждые два-три часа минут на 15 минимум отвлекись на что-нибудь типа уборки/готовки/магазина (не двачей или игрушек).
Ответы: >>2279743
Аноним 2022/01/28 10:17:27  №2279743 575
>>2279722
в общем - помидорка, только меньше времени на отдых
Аноним 2022/01/28 14:01:32  №2279985 576
Что скажете про Magento? Прохожу собесы на лару, но приходит дохуя предложений на мадженто. Глянул там зп выше, а конкуренция ниже, правда не хочется связываться с версткой
Ответы: >>2280227 >>2280502
Аноним 2022/01/28 14:33:47  №2280042 577
>>2279434
>Всё, я больше никогда не посмотрю в сторону битрикса.
>Заниматься буду по 6 часов в день
Твердо и четко?
Аноним 2022/01/28 16:13:22  №2280218 578
>>2279434
А что там за подстава с битриксом?
Аноним 2022/01/28 16:24:06  №2280227 579
>>2279985
Вроде зп одинакова. Просто мадженто это CMS, поэтому как-то даже не хочется связываться. Ну и вакансий на фреймворках в 10 раз больше.

Есть даже одна компания, которая обучает вкатунов. Вот только никто к ним не идет, потому что они находятся в далеком среднем провинциальном городке.
Аноним 2022/01/28 22:49:42  №2280502 580
>>2279985
Уже похуй, пришел оффер на ларавел
Аноним 2022/01/29 03:41:05  №2280551 581
Люди добрые, помогите ламеру. Выдает ошибку на 21 строчке. Что не так?
Ответы: >>2280552 >>2280554 >>2280679
Аноним 2022/01/29 03:51:39  №2280552 582
>>2280551
syntax error, unexpected token "echo"

<?php
error_reporting(-1);

$manDice1 = mt_rand(1, 6);
$manDice2 = mt_rand(1, 6);

$compDice1 = mt_rand(1, 6);
$compDice2 = mt_rand(1, 6);

echo "У человека выпало $manDice1 и $manDice2\n";
echo "У компьютера выпало $compDice1 и $compDice2\n";

$manDiceSum = $manDice1 + $manDice2;
$compDiceSum = $compDice1 + $compDice2;

if ($manDiceSum == $compDiceSum) {
echo "Ничья!/n";
} elseif ($manDiceSum > $compDiceSum) {
echo "Победил человек!/n";
} else ($manDiceSum < $compDiceSum) {
echo "Победил робот!/n";
}
?>

Аноним 2022/01/29 04:14:53  №2280554 583
>>2280551
Все, я долбаеб. Я исправил.
Аноним 2022/01/29 10:27:08  №2280679 584
>>2280551
Как кстати отлаживать php скрипты через VScode?
другой анон
Ответы: >>2281119 >>2281432
Аноним 2022/01/29 15:49:17  №2280912 585
15789223928330.jpg (84, 772x842)
842x772
А много тут историй про то как анон вкатился на битрикс, а потом перекатился в нормальную контору на нормальный стек? Можете расписать как это, сложно/долго доучиваться было?
Аноним 2022/01/29 21:14:54  №2281111 586
Создал пустой проект в симфони и там 8000+ файлов на 60+ мегабайт.

В директории проекта:
assets/ docker-compose.override.yml src/ vendor/
bin/ docker-compose.yml symfony.lock webpack.config.js
composer.json migrations/ templates/
composer.lock package.json translations/
config/ public/ var/

Что из этого нужно помещать в корень сервера?

Как вообще все это устроено?
Какого хуя у меня в корневой директории еще создалась скрытая папка .symfony5???

Что мне потом кидать на хостинг или в var/www где симфони не стоит?
Ответы: >>2281113 >>2282065
Аноним 2022/01/29 21:15:39  №2281113 587
>>2281111
>Создал пустой проект в симфони и там 8000+ файлов на 60+ мегабайт

И хули так много?
Я просто хочу круд сделать, простейший с десяткой полей, нах столько всего?
Аноним 2022/01/29 21:17:31  №2281119 588
Ответы: >>2281369
Аноним 2022/01/29 21:18:05  №2281120 589
Хули композер так долго работает когда создает проект симфони?
У него есть verbose для ВСЕХ файловых операций и того что и откуда он качает?
Ответы: >>2282071
Аноним 2022/01/29 21:54:01  №2281142 590
Как юзать symfony из одной директории, без ебли с конфигом сервера? Чтобы можно было кинуть на хостинг.
Аноним 2022/01/29 21:58:07  №2281148 591
Просто закинул проект в www, зашел в public/index.php и у меня сервак упал.
Ответы: >>2281155
Аноним 2022/01/29 22:05:48  №2281155 592
>>2281148
надо будет для прикола залить на хостинг и посмотреть упадет ли он
Аноним 2022/01/29 22:19:49  №2281169 593
https://symfony.ru/doc/current/quick_tour/the_big_picture.html

Как работает эта хуйня?
Где .htaccess?
Работает только корень (маршрут /), на всех остальных выдает 404.
Бляяять, нахуя так извращаться? В чем профит?
Ответы: >>2281175
Аноним 2022/01/29 22:25:34  №2281175 594
>>2281169
composer require symfony/apache-pack

Получилось, работает
Аноним 2022/01/29 23:03:52  №2281198 595
Как работает flex в symfony?
composer автоматом лезет в vendor и что-то оттуда запускает чтобы flex перегрузил методы composer или типа того?

откуда composer стартует flex?
Ответы: >>2281221 >>2282076
Аноним 2022/01/29 23:56:12  №2281221 596
>>2281198
>откуда composer стартует flex?
когда я запускаю composer
Аноним 2022/01/30 07:54:15  №2281293 597
Как загрузить данные в виде таблицы на фронте?
Ответы: >>2281431
Аноним 2022/01/30 09:25:10  №2281369 598
>>2281119
Спасибо, но что-то не заработало.
Во-первых, в Open Server походу уже есть какой-то xdebug в папке модулей, во-вторых, он мне предложил скачать на основе phpinfo php_xdebug-3.1.2-7.2-vc15, а в статье написано что выше 2.5 не поддерживает vscode.
Ответы: >>2281446
Аноним 2022/01/30 10:15:35  №2281431 599
>>2281293
<table>
foreach ($row as $key->$v)
{
<tr class="стиль строки"> <td>столбец</td><td>столбец</td> </tr>
}
</table>

типа того

данные пишешь в массив
либо сам из чего тебе надо (json, файлы и т.д.)
либо из базы через fetch
Аноним 2022/01/30 10:16:43  №2281432 600
>>2280679
А как их отлаживать в vscode?
Там выдает ошибки или что?
Ответы: >>2281446
Аноним 2022/01/30 10:35:31  №2281446 601
>>2281369
В phpinfo есть xdebug, но в vscode пишет что типа не видит путь к php.exe, я уж в конфиге с разными слешами пробовал. И расширение php-debug не добавляет свой конфиг автотатом как в гайде при нажатии add configuration.
>>2281432
Ну там можно точки останова ставить, смотреть промежуточные значения переменных. Я все с той задачей на рекурсию никак не разделаюсь, подумал может отладкой забрутфорсить решение.
Ответы: >>2281548
Аноним 2022/01/30 12:31:20  №2281548 602
>>2281446
Вроде заработало, помогло добавление "php.debug.executablePath", почему-то никто про это не писал нигде, один коммент мелким шрифтом, везде только про validate.
Осталось только понять, как работать с этим дебаггером.
Аноним 2022/01/30 19:26:49  №2281941 603
image.png (2, 190x106)
106x190
На техническом интервью давали такую задачку:
есть id, sum, нужно вывести в новом столбце сумму по шагам к значению второго столбца, как бы вы это сделали?

В результате должно быть такое (скрин).
Ответы: >>2281987 >>2281999
Аноним 2022/01/30 20:07:57  №2281987 604
images.jpg (7, 260x194)
194x260
>>2281941
>нужно вывести в новом столбце сумму по шагам к значению второго столбца

Чего блять
Аноним 2022/01/30 20:21:50  №2281999 605
>>2281941
summary[1]=sum[1];
for (i=2; i<=count(id); i++)
summary+=sum;
В чем подвох?
Ответы: >>2282002 >>2282005
Аноним 2022/01/30 20:24:43  №2282002 606
Ответы: >>2282004
Аноним 2022/01/30 20:25:59  №2282004 607
>>2282002
>summary=summary[i-1]+sum
Блин, почему нельзя удалять посты как на форче.
Аноним 2022/01/30 20:26:07  №2282005 608
>>2281999
Там надо sql запрос сделать, не из php
Аноним 2022/01/30 21:39:52  №2282065 609
>>2281111

Давай определимся с терминами. Корень проекта - это папка, в которую будет загружен проект, например: /var/www/project. "Публичная" папка - это папка, файлы из которой будет раздавать веб-сервер. Например: /var/www/project/public

В Симфони такая папка называется public. Идея в том, что мы не выкладываем весь код (включая конфиги, логи, пароли) в открытый доступ, а лишь одну папку public. А основной код находится за ее пределами и недоступен снаружи.

Загружать на хостинг нужно все, но надо настроить его так, чтобы он раздавал файлы только из public.
Аноним 2022/01/30 21:50:31  №2282071 610
>>2281120

У тебя версия Композера старше 2.2.0 ? В ней внесли серьезные оптимизации в работу вычислителя зависимостей пакетов. У пакетов есть множество версий, а количество комбинаций этих версий вообще огромное.

Посмотреть лог можно, добавив опции -vvv и --profile, например:

composer --profile -vvv install some/package

Аноним 2022/01/30 21:58:05  №2282076 611
Аноним 2022/01/30 22:47:56  №2282102 612
Собираюсь вкатываться в wordpress какие ресурсы, кроме доки посоветуете?
Ответы: >>2282120
Аноним 2022/01/30 23:11:47  №2282120 613
Аноним 2022/01/31 12:09:38