«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Клуб изучающих PHP #124 Аноним 2021/06/08 20:40:53  №2062494 1
php-noob-1.png (32, 500x500)
500x500
cat-cafe-osaka.jpg (140, 1024x683)
683x1024
welcome-to-php.png (187, 853x480)
480x853
cat-sad.jpg (194, 1024x768)
768x1024
Оказывается, лимоны выведены искуственно. И кому только пришла в голову идея вывести кислый несъедобный фрукт? Пока кто-то выводит фрукты, мы изучаем язык 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/06/08 20:41:53  №2062495 2
grammar.png (55, 500x644)
644x500
Код стоит писать аккуратно и оформлять, как принято. Потому, что другой человек, который будет смотреть твой код, вряд ли обрадуется, когда ему придется разбирать слипшиеся строчки, разбросанные в беспорядке скобки и написанные русскими словами названия переменных. Особенно плохо будет если это, например, код тестового задания, которое ты сделал, чтобы устроиться на работу. Если он будет неряшливым, это будет большой минус.

Для этого достаточно вставить код на http://beta.phpformatter.com/ и нажать «format». Робот оформит все как надо. Если ты используешь IDE, то там есть горячая клавиша для этого. Список клавиш для IDE: https://gist.github.com/codedokode/8759492

Вообще, в PHP долгое время не было единого стандарта оформления кода, все писали как попало и было много бардака, но сейчас дело лучше — есть рекомендации PSR-1 и PSR-12. Вот как надо оформлять код:

- переменные и функции пишутся с маленькой буквы, подчеркивание не используется, используется camelCase, пример: $x, $numberOfPeople, printResults()
- Название функции начинается с глагола, в стиле «сделайЧтоТо»
- не знаешь английский? Не беда, в 21 веке есть решение этой проблемы. Не пиши транслитом, открой лучше Гугл Транслейт и найди название для переменной там
- в именах классов используется CamelCase, первая буква большая, «_» может использоваться
- мы предпочитаем подстановку переменных вместо конкатенации строк: "I am $age years old" — хорошо, 'I am ' . $age . ' years old' — плохо из-за обилия точек и кавычек
- мы используем для отступов 4 пробела (можно настроить редактор, чтобы при нажатии Tab он вставлял 4 пробела)
- ставим тайп-хинты на аргументы функций, результат функций и поля классов

Вот ссылка на рекомендации PSR, где все это описано подробнее и даны примеры оформления:

PSR-1 (рус.): https://svyatoslav.biz/misc/psr_translation/#_PSR-1
PSR-12 (англ.): https://www.php-fig.org/psr/psr-12/
Аноним 2021/06/09 03:17:33  №2062664 3
>>2062494 (OP)
А чего у вас в шапке так тухло с книгами?
Наверняка уже кучу годноты завезли под новые версии пыхи, а у вас только Зандстра 2009 года выпуска
Ответы: >>2063135
Аноним 2021/06/09 04:08:45  №2062674 4
>>2062481 →
>Но дальше ты заметишь, что ты делаешь в начале каждого файла одни и те же действия
+.
Из-за этого и появилась мысль сделать одним файлом.

>микрофреймворк вроде Slim.
Гляну.
Аноним 2021/06/09 06:34:59  №2062731 5
Аноним 2021/06/09 08:43:39  №2062801 6
image.png (91, 1322x243)
243x1322
image.png (61, 1196x396)
396x1196
image.png (11, 656x163)
163x656
image.png (10, 673x125)
125x673
Ну шо вы тут, живы?
Нид хелп
На вп натягиваю вёрстку бутстрепа, первое это результат, навбар вывожу через wp_nav_menu, всё отлично но вот проблема в дропдавн меню, я не знаю как задать классы для li и ul внутри дропдавна. Видел что на пхп можно заменять нужные аттрибуты и классы, но они вроде заменяются везде, а мне нужно что бы только в дропе были особенные. Кто может подсказать чем путним, как лучше сделать
Аноним 2021/06/09 09:28:16  №2062832 7
Как сделать,чтобы после записи суммы в бд,через 7 дней списали часть от нее?
Ответы: >>2062852
Аноним 2021/06/09 09:37:17  №2062843 8
Я так и не понял,зачем нужен htmlspecialchars?
Ответы: >>2062854 >>2063587
Аноним 2021/06/09 09:46:35  №2062852 9
>>2062832
Добавляешь колонку с датой записи.
Потом по крону апдейтишь как-то так
UPDATE hui SET amount = amount * 0.2, added = NULL WHERE added IS NOT NULL AND DATEDIFF(NOW(), added) >= 7;
Ответы: >>2062853
Аноним 2021/06/09 09:47:50  №2062853 10
>>2062852
>Потом по крону апдейтишь как-то так
что?
это таймер?
Ответы: >>2062855
Аноним 2021/06/09 09:49:25  №2062854 11
>>2062843
Чтобы можно было вывести <b> - жирный шрифт
а не - жирный шрифт
Аноним 2021/06/09 09:49:54  №2062855 12
>>2062853
Планировщик задач в линупсах.
Ответы: >>2062865
Аноним 2021/06/09 10:00:56  №2062865 13
>>2062855
а на пыхе нету такого?
Ответы: >>2062883 >>2062890
Аноним 2021/06/09 10:09:33  №2062883 14
>>2062865
Можно придумать какие-то анальные костыли, но нормально делается на кроне.
Аноним 2021/06/09 10:11:13  №2062890 15
>>2062865
Например в ларе есть свой шедалер, но это калька с крона и крон там используется как точка входа.
Ответы: >>2062942
Аноним 2021/06/09 10:42:19  №2062942 16
>>2062890
те под виндой я не сделаю?
Ответы: >>2063004 >>2063599
Аноним 2021/06/09 11:22:33  №2063004 17
>>2062942
Скорее всего насосешься хуев с виндой. Юзай докер хотя бы
Ответы: >>2063024 >>2063027 >>2063599
Аноним 2021/06/09 11:34:26  №2063024 18
>>2063004
Виндузятникам не привыкать, фигли делов-то
Аноним 2021/06/09 11:36:09  №2063027 19
>>2063004
у меня домашняя винда,а не Профессиональная или Корпоративная с юбилейным обновлением (версия 1607) или более поздней версии.
Ответы: >>2063145
Аноним 2021/06/09 12:34:10  №2063135 20
>>2062664
Книги хуйня, все на ютубе
Ответы: >>2063140 >>2063146 >>2063610
Аноним 2021/06/09 12:37:35  №2063140 21
Ответы: >>2063184
Аноним 2021/06/09 12:39:28  №2063145 22
>>2063027
Ну так накати проф или корп винду свежую, или бубунту в дуалбут
Ответы: >>2063181
Аноним 2021/06/09 12:39:49  №2063146 23
>>2063135
Что там годного на ютубе?
Перечисляй
Ответы: >>2063169 >>2063184
Аноним 2021/06/09 13:07:51  №2063169 24
>>2063146
Кнопки там ниче такие
Аноним 2021/06/09 13:21:00  №2063181 25
>>2063145
если поставлю в дуал буте-отвалиться инет
Ответы: >>2063183 >>2063190
Аноним 2021/06/09 13:23:38  №2063183 26
Аноним 2021/06/09 13:25:48  №2063184 27
>>2063140
>>2063146
Ну смотрите, ввожу в поиске "php mysq(любой другой язык) простой сайт\проект" и получаю видосы по полчаса-час где сразу на практике могу сделать что-то и заебенить на гитхаб, и он не пустой и рука набита, плюс экспириенс как применить знания на практике. В книжках тебе сто страниц будут просто ебать мозг копипастой.
Аноним 2021/06/09 13:30:59  №2063190 28
>>2063181
Я бы на твоем месте не вкатывался в айти. А то хуй отвалится
Аноним 2021/06/09 13:33:24  №2063192 29
>>2063184
>ввожу в поиске "php mysq(любой другой язык) простой сайт\проект"
Первое видео - ускоренное видео как чел пишет код с комментариями уровня: вот тут делаем это, а там вот то. Почему, зачем, что делаем и куда двигаемся - не понять
Аноним 2021/06/09 13:51:39  №2063215 30
Ответы: >>2063258 >>2063641
Аноним 2021/06/09 14:20:41  №2063258 31
>>2063184
>видосы по полчаса-час где сразу на практике могу сделать что-то и заебенить на гитхаб
>>2063215
>Делаем дырявую форму час
>Выкладываем на гитхаб
>"Мам, я програмист! Ну скажи им"
Аноним 2021/06/09 15:12:33  №2063354 32
Воркер, за которым следит супервайзор, нужно руками запускать или он при загрузке ОС сам запустится?
Ответы: >>2063606
Аноним 2021/06/09 17:11:32  №2063587 33
>>2062843

В HTML некоторые символы имеют специальное значение. Например, символы < и > используются для открытия/закрытия тегов, символы " и ' используются в атрибутах, а символ & используется для кодирования символов, которых нет на клавиатуре, вроде & copy; (символ ©).

Соответственно, если ты выведешь echo "<b>", то это будет воспринято браузером как тег b.

Но что, если ты хочешь просто вывести текст, как есть, чтобы спецсимвол вроде < не начинал бы новый тег, а просто выводился бы как угловая скобка? Для этого тебе надо в тексте заменить спецсимволы на HTML-сущности:

< - на & lt;
> - на & gt;
& - на & amp;
" и ' на & quot; и & #039;

Функция htmlspecialchars этим и занимается.

Всегда, когда ты выводишь какой-то текст в HTML-документ, надо применять эту функцию. Если этого не делать, то можно получить уязвимость XSS, как она работает, описано тут: https://github.com/codedokode/pasta/blob/master/security/xss.md

Вообще, это относится не только к HTML. Если ты подставляешь текст в ссылку, ты должен экранировать спецсимволы (но не с помощью htmlspecialchars, а с помощью urlencode), если ты подставляешь переменную в SQL-запрос, ты тоже должен экранировать спецсимволы и так далее.


Аноним 2021/06/09 17:18:40  №2063599 34
>>2062942

Под WIndows тоже есть планировщик задач, и можно сделать, чтобы твой php скрипт запускался в определенное время. Только не забудь настроить, чтобы он запускался из-под нужного пользователя.

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

>>2063004

Докер это корявое решение. В винде есть свой планировщик задач.

Ответы: >>2064166
Аноним 2021/06/09 17:23:16  №2063606 35
>>2063184

Если в видео объясняется теория, а не просто показывается как писать код, то конечно, имеет смысл его посмотреть.

Но я сомневаюсь, что за полчаса-час можно рассказать основы языка, ООП, архитектуры для начинающего. Следовательно, из такого видео ты научишься только переписывать код с экрана, и какая польза от этого "умения", я не понимаю. Не проще ли сразу скопировать код с гитхаба, и не тратить время?

>>2063354

Должен запуститься сам.
Аноним 2021/06/09 17:24:54  №2063610 36
>>2063135
PHP за час
от-прафессианала

>>2063184
На ютубе оче много ничего не умеющих балаболов, к тому же через чтение инфа быстрее воспринимается - где там очередной прафессионал будет жопу тянуть 15 минут, ты за это время уже гугл прошерстишь и прочитаешь что надо.
Ответы: >>2063640
Аноним 2021/06/09 17:36:19  №2063625 37
где в РУ инете есть самый активный форум по пхп?
Ответы: >>2064167
Аноним 2021/06/09 17:49:29  №2063636 38
Для каких целей вы использовали кастомные middleware?
Ответы: >>2065941
Аноним 2021/06/09 17:57:00  №2063640 39
>>2063610
Двачую, книги и документация наше всё
Аноним 2021/06/09 17:57:36  №2063641 40
>>2063215
А есть адекватный аналог?
Аноним 2021/06/09 17:58:17  №2063643 41
По MVC,паттернам посоветуйте пожалуйста годную книгу.
Ответы: >>2063961
Аноним 2021/06/10 06:41:21  №2063961 42
>>2063643
Head first design patterns - книга старая, но очень годная и написанная очень простым языком. Примеры там на джаве, но это не мешает. Классика жанра "Приемы объектно-ориентированного проектирования" от банды четырех. Ну и Зандстра "Объекты, шаблоны и методики программирования"

Еще можешь читануть https://designpatternsphp.readthedocs.io/en/latest/README.html
Ответы: >>2064011 >>2065946
Аноним 2021/06/10 08:11:34  №2064011 43
>>2063961
>Ну и Зандстра "Объекты, шаблоны и методики программирования"
Бля пыхыписты, у вас за 10 лет реально что ли другой книги не вышло? Какого хрена вы советуете всегда один и тот же протухший антиквариат?
мимо
Ответы: >>2064106 >>2064198
Аноним 2021/06/10 08:37:40  №2064035 44
Аноним 2021/06/10 09:16:42  №2064090 45
>>2062494 (OP)
Насколько вообще реально за год выучить php и вкатиться джуниором? А то я слушаю и все вокруг говорят о том что джуниоров даже за еду работать уже не берут так как программистов такая куча что без опыта работы они нахуй не нужны никому стали.
Аноним 2021/06/10 09:32:08  №2064106 46
>>2064011
Там же дохуя обновлений вышло, буквально недавно видел под 8 спиздили переиздание.
Аноним 2021/06/10 09:35:13  №2064110 47
>>2064090
Как повезет, я пришел вообще нихуя не зная, написав разве что кривой калькулятор, который мне итт обосрали. На собесе честно сказал что хочу и готов учиться и внезапно прокатило. А первое же задание мне дали писать на луа, а не пыхе, тут то я и охуел
Ответы: >>2064128
Аноним 2021/06/10 09:52:22  №2064128 48
>>2064110
Сейчас до сих пор там же работаешь?
Ответы: >>2064150
Аноним 2021/06/10 10:26:44  №2064150 49
>>2064128
Да, пилю простенькие серваки для мобильных казуалок и подумываю наконец свалить куда-нибудь, но я тот еще аутист, так что дико стремаюсь собесов.
Ответы: >>2064222
Аноним 2021/06/10 10:46:26  №2064166 50
>>2063599
>Докер это корявое решение. В винде есть свой планировщик задач.
Почему?
Какова вероятность, что php проект будет на продакшене на windows сервере крутиться?
Имеет же смысл осваивать то, что встретишь на работе
Ответы: >>2065969
Аноним 2021/06/10 10:47:03  №2064167 51
Аноним 2021/06/10 10:49:03  №2064170 52
>>2064090
>Насколько вообще реально за год выучить php и вкатиться джуниором?
Год даже много. Бери пол года
Аноним 2021/06/10 11:07:46  №2064198 53
>>2064011
И хули? Head first design patterns вообще 2004 года, но для новичков ничего лучше до сих пор нет
Аноним 2021/06/10 11:10:43  №2064204 54
>>2064090
Если по 6-8 часов хуярить можно и за месяца три спокойно, но обычно ещё фреймворки и бд нужно знать
Ответы: >>2064259 >>2064541
Аноним 2021/06/10 11:16:37  №2064222 55
>>2064150
Вакансии на hh искал?
Ответы: >>2064303
Аноним 2021/06/10 11:34:51  №2064259 56
>>2064204
Так вся суть пыхи в бд и фреймворках. Голая пыха мало кому нужна.
И что там можно 3 месяца в голой пыхе фултайм херачить?
Ответы: >>2064299
Аноним 2021/06/10 12:01:32  №2064299 57
>>2064259
С нуля учебник ОПа, а потом ООП, разбирать шаблоны ООП. Ну, и помимо этого основы хтмл, цсс и жабаскрипта.
Ответы: >>2064683
Аноним 2021/06/10 12:03:33  №2064303 58
>>2064222
Вакансии смотрю, да.
Аноним 2021/06/10 15:43:23  №2064541 59
>>2064204
У меня нет столько времени, работа сама себя не работает к сожалению, так что в будние дни максимум часа 2-3 смогу выделять в лучшем случае, поэтому и спросил про год.
Ответы: >>2064684
Аноним 2021/06/10 18:56:34  №2064683 60
>>2064299
>жабаскрипта

Кстати, а на хуя пыхеру фронтенд язык знать?
Ответы: >>2064731
Аноним 2021/06/10 18:57:14  №2064684 61
>>2064541
А, ну тогда да, год понадобится, но это все равно маловато да и усталость после работы влияет
Аноним 2021/06/10 19:45:58  №2064731 62
>>2064683
Раньше все веб давалоперы были фулстеки, потом всё дохуя усложнилось и разделились на бек и фронт, но с пхп некоторая инерция осталась.
Аноним 2021/06/10 21:44:26  №2064893 63
Сап, пхпаны, что нужно помимо вордпресса для заработка на лапшу быстрого приготовления?
Ответы: >>2064954
Аноним 2021/06/11 00:09:32  №2064954 64
>>2064893
Ну можешь попробовать еще опенкарт посмотреть и битрикс. Правда с этой тройкой ты только на лапшу и сможешь расчитывать.
Ответы: >>2065070
Аноним 2021/06/11 07:02:34  №2065070 65
>>2064954
Регулярно вижу вакансии на битрикс с нормальными зарплатами. Если порог брезгливости не очень высокий, то можно и там зарабатывать
Ответы: >>2065134 >>2065327
Аноним 2021/06/11 08:48:56  №2065134 66
>>2065070
Битрикс так то довольно популярен так что не так уж мало людей на нем работает.
Аноним 2021/06/11 11:02:47  №2065315 67
ДОБРОЕ УТРО! ПОМОГИТЕ, ОТВЕТИТЬ НА МОИ ВОПРОСЫ! Я ВКАТЫВАЮСЬ В ВЁРСТКУ, НО МНЕ СКАЗАЛИ, ЧТО В 2К21 ГОДУ БОЛЬШЕ ВЕРСТАЛЬЩИКОВ НЕ СУЩЕСТВУЕТ, СКАЗАЛИ УЧИТЬ РНР, ПОТОМУ ЧТО ДАЖЕ ВОРДПРЕСС ИМЕЕТ REST API И МОЖЕТ СЛУЖИТЬ КАК HEADLESS CMS. ПОЭТОМУ Я ОЗНАКОМИЛСЯ С САМЫМИ БАЗОВЫМИ ОСНОВАМИ РЕАКТА

1) Если я хочу быть верстальщиком, фронт-жабаскриптером, реакт-макакеном. То что мне нужно знать об аутентификации, сессиях и jwt токенах? Процесс аутентификации полностью лежит на плечах бэкенда или мне как фронт-жабоскриптеру что-то надо ajax,fetch-запросами куда-то посылать для аутентификации?

Я читал на хабре про jwt-токенты, РНР сессии, но нихуя не понял

2) Что мне нужно знать об web-сокетах? Если я как верстак, фронт-жабаскриптер должен буду делать чат. То что мне нужно знать об web-сокетах?
Я тоже про них читал на learnjs, но нихуя не понял.

ОЧЕНЬ СИЛЬНО ПРОШУ ПРОЩЕНИЯ ЗА СВОЁ СУЩЕСТВОВАНИЕ! ПРИНОШУ ГЛУБОЧАЙШИЕ ИЗВИНЕНИЯ!
Ответы: >>2065335 >>2065926
Аноним 2021/06/11 11:12:13  №2065327 68
>>2065070
Хз как вкатиться в этот ваш битрикс. Я пробовал его установить и потестить, так там ведь просто тонны лапшекода, в котором по идее надо хорошо разбираться и решать возникающие проблемы.
Книг по нему нет, туториалов нет, документация на сайте полное гавно и т.д.
Короче вариант не для новичков, имхо
Ответы: >>2065818 >>2065935
Аноним 2021/06/11 11:14:22  №2065329 69
>>2064090
>джуниоров даже за еду работать уже не берут
Вообще да. Только куча не программистов, а таких вот вкатывальщиков. Требования к джунам выкатывают в зависимости от запрлаты - у одних будешь за 30к Попенкарт пердолить целыми днями, другие попросят фреймворк, докер, юнит-тесты и дадут со старта 80к.
Не слушай местных зазывал - пиздят либо ошибка выжившего.
Аноним 2021/06/11 11:18:44  №2065335 70
>>2065315
Блядь, анон, ты ёбнутый совсем местных двачеров слушать? Они тебе такого насоветуют - охуеешь. Какие фреймворки, какие, в жопу, вебсокеты?
Любой веб начинается с вёрстки - что бекенд, что фронтенд. Фронтенду вообще особенно хорошо вёрстку знать надо.
Выглядит это так: статичная вёрстка + методы + инструменты, потом чистый жаваскрипт и немного динамики, потом уже фреймворки и тд. Куда ты полез вообще, тебя тупо затроллели, либо борщехлебы хейни понаписали из манямирка?
Ответы: >>2065345 >>2065480
Аноним 2021/06/11 11:27:00  №2065345 71
>>2065335
Суть в том, что поковырял вёрстку. Немножко жабаскрипт поковырял.

Но дальше я уже ничего не понимаю. Поэтому родились вопросы:
1) Что я должен знать как верстальщик в процесс аутентификации? Я должен что-то отправлять ajax-запросами? Или я ничего не должен и всё бэкенд сам сделает.

2) Что я должен знать как верстальщик, если придется делать чат. Что я должен делать с веб-сокетами?
Ответы: >>2065353
Аноним 2021/06/11 11:41:28  №2065353 72
>>2065345
>поковырял вёрстку
>жабаскрипт поковырял
>дальше я уже ничего не понимаю
Плохо поковырял значит и надо больше.

>Что я должен знать как верстальщик в процесс аутентификации?
>если придется делать чат
Очень странные вопросы. Если тебе это всё нужно только для чата, то проще будет нанять кого-то или купить готовый.
Ответы: >>2065424
Аноним 2021/06/11 12:25:36  №2065424 73
>>2065353
>Плохо поковырял значит и надо больше.
Это уже в бэке ковыряться надо. Я пытался, на w3schools основы РНР прошёл и SQL. Читал Мэтта Зандстру про РНР ООП, но дальше главы про абстрактные фабрики не осилил. Потом смотрел вводные видео про next.js. Читал на хабре джве статьи про jwt токены. Но нихуя не понял.

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

>Очень странные вопросы.
|Они родились из того, что я читал в learnjs тему про веб-сокеты. Я всё подряд читаю из learnjs. И я не понял, что это за хуйня, и что я должен из этой темы знать как верстальщик.
Ответы: >>2065437 >>2065444 >>2065934
Аноним 2021/06/11 12:36:42  №2065437 74
>>2065424
>меня высмеяли, что я хватаюсь за всё подряд
Ну да. Ты по верхам пробежался просто и думаешь, что освоил что-то. В норме опыт считается только выполненными проектами - сперва говно из палок, потом всё лучше и лучше. Туториалы, книжки и статейки никто в серьёз не воспринимает и не будет - в одно ухо влетело, в другое вылетело.

>не понял, что это за хуйня, и что я должен из этой темы знать как верстальщик
Ничего. Верстальщик верстает статические страницы, его динамика почти не касается. Фронтенд разработчик это верстальщик + динамика на js. В вебсокеты не лезь пока - тебе ещё рано.
Аноним 2021/06/11 12:48:26  №2065444 75
>>2065424
>Они родились из того, что я читал в learnjs тему про веб-сокеты
Тебе вообще туда лезть не нужно, раз хочешь верстку. Вообще всё, что касается бека не трогай
Аноним 2021/06/11 13:38:14  №2065480 76
Аноним 2021/06/11 19:03:00  №2065818 77
>>2065327
Это вариант для говноедов
Аноним 2021/06/11 19:12:54  №2065824 78
Ребята, а реально ли релокейтнуться в Восточную Европу(Литву например) с пхп?
Ответы: >>2065959 >>2066069
Аноним 2021/06/11 19:18:31  №2065828 79
>>2064090
За месяц синтаксис изучаешь, пробуешь сделать что-то связанное базой данных и идешь искать работу. Жопаскрипт освоишь уже на самой работе, хотя, перед тем как устроится, желательно уметь им пользоваться в плане написания функций и вывода ajax запросов. Это не сложно, учится буквально за вечер.
Я когда пхпшником устроился, то мне вообще дали говнокод ковырять на asp classic, смачно подохуел тогда.
Ответы: >>2065830
Аноним 2021/06/11 19:20:30  №2065830 80
>>2065828
Смотришь PHP за час От профессионала и идёшь раскидывать заявки на вакансии - ты ж теперь у мамы синьор. Сам язык уже на работе подтянешь.
Ответы: >>2065832
Аноним 2021/06/11 19:22:46  №2065832 81
>>2065830
Не утрируй. Я через месяц учебы работу на пхп нашел, говорю исключительно о своем опыте. Работа правда гавно, за 25к всего.
Ответы: >>2065834
Аноним 2021/06/11 19:24:23  №2065834 82
>>2065832
Так тебя обычным эникеем взяли фактически, но заставили код писать. Причём тут пхп?
Ответы: >>2065835
Аноним 2021/06/11 19:25:18  №2065835 83
>>2065834
Ну так сначала говно делал, постепенно стали давать проекты на yii допиливать. Чем не работа?
Ответы: >>2065837 >>2065961
Аноним 2021/06/11 19:29:04  №2065837 84
>>2065835
>проекты на yii допиливать
>25к

>Чем не работа?
На стройке больше заработаешь.
Ответы: >>2065839 >>2065933
Аноним 2021/06/11 19:31:05  №2065839 85
>>2065837
Вопрос был о том, КАК НАЙТИ РАБОТУ, а не о заработке. Я на него ответил. К чему доеб, не понимаю?
Аноним 2021/06/11 19:49:35  №2065850 86
p
Аноним 2021/06/11 21:29:18  №2065926 87
>>2065315

> НО МНЕ СКАЗАЛИ, ЧТО В 2К21 ГОДУ БОЛЬШЕ ВЕРСТАЛЬЩИКОВ НЕ СУЩЕСТВУЕТ

Это не совсем так. Речь о том, что нет спроса на верстальщиков, умеющих делать только HTML-верстку с CSS без JS. Обычно от верстальщика ожидают, что он реализует и JS-код. При этом JS-код может быть в форме простых скриптов на jQuery (при нажатии на кнопку, показать попап, отправить аякс-запрос), так и в форме приложения на фреймворке вроде React, Vue. То есть предпочтительнее быть не верстальщиком, а полноценным фронтенд-специалистом.

> То что мне нужно знать об аутентификации, сессиях и jwt токенах?

Тебе надо тщательно изучить, как работают куки. Это твоя зона ответственности.

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

Отличие JWT-токена от id сессии в том, что для проверки сессии бекенд должен искать (на диске, в редисе, в БД) идентификатор сессии и проверять его правильность. Если у тебя все хранится на одном сервере - проблем нет. Но если у тебя хайлоад и куча серверов, то тебе надо выделить какое-то центральное хранилище для сессий и на него будет сыпаться куча запросов от бекендов.

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

Иногда усложняют еще больше и используют OAuth. В случае OAuth, сторонний сайт может перенаправить пользователя на страницу авторизации и после нее получить токен, который даст доступ к данным пользователя. Тут, очевидно, куки уже не используются.

Зачем усложнять? Наверно, чтобы получить универсальное API, к которому можно обращаться не только из фронтенда сайта, но и с других проектов. Позволять другим проектам действовать от имени пользователей.

> Что мне нужно знать об web-сокетах?

Тебе сначала хорошо бы изучить не веб-сокеты, а классические сокеты Беркли. Понять, как вообще данные передаются в сети между машинами. После этого веб-сокеты, после этого прикладные протоколы вроде Autobahn.

> должен буду делать чат.

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

Ответы: >>2066104
Аноним 2021/06/11 21:38:37  №2065933 88
>>2065837

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

С другой стороны, в строительстве крутятся огромные деньги. Посмотрите цены на квадратный метр. Обычному программисту такие деньги, конечно, никто не даст, а строительным компаниям люди из последних средств платят. Очень выгодный бизнес.
Аноним 2021/06/11 21:41:52  №2065934 89
>>2065424

> Я всё подряд читаю из learnjs. И я не понял, что это за хуйня, и что я должен из этой темы знать как верстальщик.

Ты должен знать принцип работы, как отправлять и получать сообщения по веб-сокетам, как сериализовать данные (например: тебе надо отправить объект с кучей полей), знать, какие бывают прикладные протоколы поверх WS вроде Autobahn (хотя, может он уже устарел?).
Аноним 2021/06/11 21:42:53  №2065935 90
>>2065327

Исходный код лучшая документация.
Ответы: >>2079750
Аноним 2021/06/11 21:45:55  №2065941 91
>>2063636

Я не использовал, но обычно middleware используют там, где надо что-то сделать с HTTP-запросом или ответом. Например: зашифровать куки, залоггировать запрос, сжать HTTP-ответ, добавить какие-то HTTP-заголовки.

Что-то более высокоуровневое там делать неудобно. Например, проверку прав доступа сделать там тяжело, хотя некоторые и пишут, что для этого можно использовать middleware.
Аноним 2021/06/11 21:50:09  №2065946 92
>>2063961

> https://designpatternsphp.readthedocs.io

Это не очень удачная книга. Она объясняет, как реализовать паттерн, но не объясняет, зачем он нужен. Также, там дурацкие примеры, например тут: https://designpatternsphp.readthedocs.io/en/latest/Creational/Builder/README.html

Тут в примере используются классы TruckBuilder и CarBuilder. В каком приложении тебе понадобится создавать машины с помощью билдера?

Более того, там приведен сложный код, используются интерфейсы, наследование, но нет никаких поясенений, зачем это нужно.
Аноним 2021/06/11 22:01:52  №2065959 93
>>2065824
Работаю на фирму, которая релокейтнула пачку пыхеров в Чехию в Прагу. Т.е. большая часть команды разрабов работает из Праги. Кто-то собирается переезжать, как с ковидлом поуляжется
Ответы: >>2066070
Аноним 2021/06/11 22:03:47  №2065961 94
>>2065835
Тоже начинал с yii до сих пор на нем, блядь, ебаное легаси, мать его. Так что относительно неплохой старт. Главное - срыгнуть на симфу
Аноним 2021/06/11 22:09:52  №2065969 95
>>2064166

Автор вопроса спрашивал, как ему настроить выполнение заданий под Windows, значит его интересует именно эта ОС.
Аноним 2021/06/12 04:51:22  №2066044 96
Ответы: >>2066086
Аноним 2021/06/12 06:56:07  №2066069 97
>>2065824
Реально. Я из Беларуси и мне сейчас компания предлагает помощь с релокацией в Польшу, Литву или Украину.
Ответы: >>2066070 >>2066129
Аноним 2021/06/12 06:59:14  №2066070 98
>>2065959
>>2066069

Спасибо за ответ ребята, а то я что-то приуныл, и уже подумывал стэк сменить.
Аноним 2021/06/12 08:04:22  №2066086 99
>>2066044
Тому що нужно проверять существование ключа subject в массиве прежде чем обращаться к нему. Регулярка у тебя тоже кривая Спасибо, вернул мне мой 2005-й
Ответы: >>2066105
Аноним 2021/06/12 08:57:40  №2066104 100
>>2065926
>Тебе сначала хорошо бы изучить не веб-сокеты, а классические сокеты Беркли. Понять, как вообще данные передаются в сети между машинами. После этого веб-сокеты, после этого прикладные протоколы вроде Autobahn.
Очередной посылатель учить левую хрень.
Ответы: >>2066219
Аноним 2021/06/12 09:06:33  №2066105 101
>>2066086
>вернул мне мой 2005-й

А что не так, так уже не пишут?
Ответы: >>2066106
Аноним 2021/06/12 09:19:48  №2066106 102
>>2066105
В процессе учебы писать так абсолютно нормально, но не более того. Хотя возможно, что в каких-нибудь конторах, клепающих лендинги, обработка форм сделана именно так.
Ответы: >>2066111 >>2066126 >>2066219
Аноним 2021/06/12 09:28:33  №2066111 103
>>2066106
А как по стильному современному будет?
Ответы: >>2066315
Аноним 2021/06/12 09:51:47  №2066126 104
>>2066106
А как правильно? С аяксом? Или какой-то структурой?
Ответы: >>2066315
Аноним 2021/06/12 09:55:04  №2066129 105
>>2066069
Компания не EPAM случайно?
Ответы: >>2068110
Аноним 2021/06/12 12:04:51  №2066219 106
>>2066104

Сам ты левая хрень. Сокеты Беркли надо понимать, так как веб-сокеты на них основаны.

>>2066106

Он написал код просто, чтобы протестировать регулярное выражение. Ты предлагаешь (угробив кучу времени) сделать полноценное приложение на Симфони ради проверки регулярки?
Ответы: >>2066224 >>2066274 >>2066281
Аноним 2021/06/12 12:10:14  №2066224 107
>>2066219
Тогда пиздуй учить диодно-транзисторную логику, а еще лучше начинай с квантовой механики и физики полупроводников, ведь веб-сокеты на этом основаны. Пока не выучишь не возвращайся в IT.
Аноним 2021/06/12 13:21:25  №2066274 108
>>2066219
>Сокеты Беркли надо понимать
Тыскозал? Как это поможет накатить библиотеку и сделать по документации? Нахуй надо ковырять левые доки по другому языку, ты ебан какой-то.
Аноним 2021/06/12 13:25:50  №2066281 109
>>2066219
>Сокеты Беркли надо понимать
Их вендору надо понимать, а не имплементатору. Сразу нуба в разработке видно. Небось ещё и на ВУЗы дрочишь - типа без вышки и знания тысяч алгоритмов только не пизди, что ты их все учил не бывает программистов.
Аноним 2021/06/12 13:43:28  №2066299 110
Есть тут аноны, которые работают с Битрикс?
Расскажите плиз как вкатывались, что читали/смотрели?
Ответы: >>2066469 >>2067774
Аноним 2021/06/12 13:57:25  №2066315 111
>>2066111
>>2066126

По стильному-современному это будет экшен контроллера в который будет инжектиться либо реквест, из которого ты руками (не надо так) или с помощью десериализации достанешь нужные тебе данные, скормишь их валидатору и потом будешь с ними работать, либо готовая провалидированная дтошка (в ларке это из коробки, в симфони нужно запилить аргумент ресолвер) опять таки с нужными тебе данными
Аноним 2021/06/12 15:30:00  №2066387 112
index.jpg (307, 1224x826)
826x1224
Напомните почему так сложно установить пыху на винду и заставить работать с фреймворками? Это говно даже собственный конф файл не может поcтавить: php.ini
Ответы: >>2066389 >>2066459
Аноним 2021/06/12 15:32:43  №2066389 113
>>2066387
Ну если тебе распаковать зип и добавить в path сложна, то хуй знает.
Ответы: >>2066404
Аноним 2021/06/12 15:44:17  №2066404 114
15989214252560s.jpg (6, 270x217)
217x270
>>2066389
>Ну если тебе распаковать зип и добавить в path сложна, то хуй знает.
Аноним 2021/06/12 16:25:29  №2066459 115
>>2066387
А зачем страдать, если можно поставить линукс в дуалбут? Все равно на работе придется иметь с ним дело. Сами себе придумывают сложности на ровном месте, а потом героически с ними сражаются
Аноним 2021/06/12 16:33:47  №2066469 116
>>2066299
Читал доки symfony/laravel, смотрел AFUP PHP. Пошел на собес с требованиями "symfony, laravel, wordpress". На тех. собесе мне сказали: "Ты молодец, конечно, у нас проекты для тебя есть, но пока что завал с битриксом, так что подсоби". Ну я согласился: первый собес, хули. Прочитал доки и прошел тесты за неделю, поработал месяц и убежал.
Ответы: >>2066548 >>2066597 >>2066611
Аноним 2021/06/12 16:35:13  №2066471 117
symfony-в чем ее фишка?
Ответы: >>2066504 >>2066594
Аноним 2021/06/12 17:25:31  №2066504 118
>>2066471
Symfony - это ОН
Laravel - ОНА

Не путай!
Ответы: >>2066521
Аноним 2021/06/12 17:57:08  №2066521 119
Аноним 2021/06/12 18:28:21  №2066548 120
>>2066469
Сколько заплатили хоть за такую вилкочистию?
Аноним 2021/06/12 19:16:14  №2066594 121
>>2066471
В компонентности, например
Ответы: >>2066596
Аноним 2021/06/12 19:17:13  №2066596 122
>>2066594
и в чем отличие от монолитной лары?
Ответы: >>2066598
Аноним 2021/06/12 19:17:53  №2066597 123
>>2066469
>symfony, laravel, wordpress
Ничего не насторожило?
Аноним 2021/06/12 19:19:57  №2066598 124
>>2066596
В том, что можно взять только то, что тебе необходимо. К примеру только контейнер зависимостей и роутер. А в ларке даже педрильный блейд гвоздями прибит по крайней мере раньше было так
Ответы: >>2066599
Аноним 2021/06/12 19:20:59  №2066599 125
>>2066598
те я могу взять только роутинг,а дальше сам велосипедить?
Ответы: >>2066610 >>2066614
Аноним 2021/06/12 19:47:37  №2066610 126
>>2066599
Еще доктрина, если ты адепт предметного подхода в архитектуре, может ебенейшую по вложенности структуру из сущностей и вэлью обжектов подхватить без изменений. Причем тебе твою бизнес логику никак не придется переделывать под фреймворк, а элоквент так не может и заставит тебя писать кучу борлеплейта по преобразованию структур бизнес логики в модели и наоборот, либо заставит прибивать БЛ к ларавелу гвоздями.
Ответы: >>2067636
Аноним 2021/06/12 19:49:59  №2066611 127
>>2066469
>symfony, laravel, wordpress
Ну ты нашёл куда сунуться. Мог бы сразу на фрилансе к очередному дебилу с "нужон розробочтик на Тилда, Вопркперс, Ларавел, Опенкарт за 20к\мес" пойти в услужение.

>На тех. собесе мне сказали: "Ты молодец, конечно, у нас проекты для тебя есть, но пока что завал с битриксом, так что подсоби"
Ожидаемо.
Аноним 2021/06/12 19:54:11  №2066614 128
>>2066599
Для этого проще микрофреймворк взять и самому накидать туда что нужно.
Ответы: >>2066992
Аноним 2021/06/13 11:44:24  №2066992 129
>>2066614
А чем симфони не микрофреймворк?
Аноним 2021/06/13 13:48:23  №2067067 130
16164188827072.jpg (22, 720x720)
720x720
>>2062494 (OP)
Дошёл до задачи с палиндромом в учебнике, вроде решил её, но у меня стойкое желание что я наговнокодил, вот сам код https://ideone.com/DGq6ON

Я для отсчета символов с конца строки создал лишнюю переменную и у меня стойкое ощущение что это можно было сделать как-то по другому, но я не понимаю как. Я находил в интернете решения этой задачи через функции, но я до них ещё не добрался поэтому меня интересует более оптимальное решение из тех знаний что предоставил учебник до этого момента.
Аноним 2021/06/13 13:48:59  №2067069 131
>>2067067
Желания => ощущение

быстрофикс*
Аноним 2021/06/13 14:00:55  №2067078 132
Ответы: >>2067105
Аноним 2021/06/13 14:29:17  №2067105 133
>>2067078
Спасибо за подсказку, так и знал что нагавнокодил.
Аноним 2021/06/14 07:48:00  №2067636 134
>>2066610
использование доктрины не делает твой код "предметным"
Ответы: >>2067841
Аноним 2021/06/14 11:03:27  №2067774 135
>>2066299
>Есть тут аноны, которые работают с Битрикс?
Есть. Потрогал говно, блеванул, больше с ним не работаю
Аноним 2021/06/14 11:06:45  №2067777 136
>>2067067
Тяжело наговнокодить в функции на 5 строк. Работает и ладно
Аноним 2021/06/14 12:44:09  №2067841 137
>>2067636
Не шизи, там такого не написано.
Аноним 2021/06/14 16:51:33  №2068110 138
>>2066129
З якой мэтай цікавішся?
Ответы: >>2069352
Аноним 2021/06/14 17:08:50  №2068123 139
>>2068119
Шизик, тебе уже отвечали, что ты обращаешься к несуществующему ключу массива.
Аноним 2021/06/15 02:40:28  №2068607 140
Сап, двач. Вопрос следующий. Я программирую уже год и 5 месяцев на языке программирования "пи эйч пи".

Короче, первая моя работа была около года в компании работающей на CMS и делающей магазинчики ебучие. Это было больно, но я работал и учился. Потом перешел в другое место и начал делать проект на Yii. Там продуктовая компания, продукт всего один. Стартапщики ебучие.

Короче, вопрос следующий: что помимо работы мне стоит делать чтобы вкачиваться в плане скилла.

Что я научился за эти полтора года:
- Ну собсна ПХП. 7ой ясен хуй. С пацанским ООП.
- Базы данных. Запросы, джойны, репликация, нормальная форма. Вообще на машке работаем, но я и на монге успел.
- Редиска и мемкэшд. Для, что характерно, кэша.
- Слегка JS. У нас в админке интерфейс простой, хуйня на бутстрапе с жиквири. Модалочки хуялочки научился делать, всякие говногулпы.
- Докер с компоузом, куда же без него.

Так вот. Что мне делать КАЖДЫЙ ДЕНЬ помимо работы чтобы дальше расти в скилле? Сейчас начал читать книжку по Yii для более глубокого понимания. Так же начал писать мелкий фронтенд на реакте чтоб научиться и этому тоже. Че ещё посоветуете?

Ответы: >>2068619 >>2069238 >>2069559
Аноним 2021/06/15 04:53:57  №2068619 141
>>2068607
>Что мне делать КАЖДЫЙ ДЕНЬ помимо работы чтобы дальше расти в скилле?
Бля, да много чего ещё можно делать!

1) Учить какие бывают архитектуры. Событийно-ориентированные, микроядро, микросервисы, многослойная, space-based и т.д.

2) Учить облачные сервисы - AWS, Azure, Google Cloud. Проходить воркшопы https://awsworkshop.io/ Смотреть Well Architected Framework https://aws.amazon.com/ru/architecture/well-architected/

3) Учить инструменты деплоя/автоматизации архитектуры - Hashicorp, Pulumi, Chef, Puppet, Ansible, Salt и т.д.

4) Учить стандарты PHP - https://www.php-fig.org/ PHP CodeSniffer, и т.д.

5) Учить CI/CD - тот же Сicle CI.

6) Учить Github/Github экшены.

7) Учить как отслеживать приложения - Lumigo, Dynatrace, Datadog, и проч.

8) Проджект менеджмент - ту же Asana, какие стили бывают agile, lean, scrum, kanban и т.д.

Короче учить можно до бесконечности.
Ответы: >>2068868 >>2068937
Аноним 2021/06/15 10:53:48  №2068868 142
>>2068619
Какой смысл это все учить без применения на практике?
Аноним 2021/06/15 11:43:10  №2068937 143
>>2068619
1. Согласен, общее понимание неплохо бы иметь.
2. Особо не задрачивать, просто понимать что в принципе на рынке есть. В каждой галере всё по своему.
3. Нахуя? Во-первых это дело ДевОпсов, во-вторых, максимум нужно примерно понимать пару-тройку команд для деплоя.
4. Согласен, было бы неплохо знать.
5. Нахуя? Опять же, это работа ДевОпса, разве что общий принцип как работает в твоей компании CI/CD.
6. Ага, блядь, и пайплайны битбакета. Что там учить то? Просто конфигурируешь настройки под каждый проект (по ридми и мануалам), что конкретно ты учить там собрался-то?
7. Нахуя ты опять советуешь учить не технологии/подходы, а какие-то частные реализации? Опять же, это работа ДевОпса. Твоя работа как программиста максимум помочь в интеграции, всё. Тебе не нужно учить все сервисы которые тот или иной продукт предлагает.
8. Угу, ещё "выучи Жиру" забыл добавить.

Короче, советы не для программиста, а для девопс/кодера/продакт менеджера/архитектора/продакт оунэра комбайна. Тот, кто всё это знает, по сути не знает ничего, нахватался по верхам.
Я бы челу предложил копать глубже, а не в ширь. Посмотреть паттерны, поразбираться как устроены популярные фреймворки, попробовать написать экстеншены к ним, попробовать покоммитить в опен сорс проекты.
Ответы: >>2068961
Аноним 2021/06/15 11:57:52  №2068961 144
>>2068937
>3, 5, 7
В мелких фирмах/командах сеньор бекендер может быть девопсом на пол ставочки. Там как раз хватает знаний по верхам, т.к. нужно поднять дефолтный си/сд
Аноним 2021/06/15 14:55:07  №2069238 145
>>2068607
>Что мне делать КАЖДЫЙ ДЕНЬ помимо работы чтобы дальше расти в скилле?
Как минимум начать использовать единственный нормальный фреймворк на похапе
Ответы: >>2069294
Аноним 2021/06/15 15:21:23  №2069294 146
>>2069238
Двачую, сам хочу на Битрикс пересесть
Ответы: >>2069301 >>2069327
Аноним 2021/06/15 15:23:33  №2069301 147
>>2069294
Он имел в виду Вордпресс
Ответы: >>2069327
Аноним 2021/06/15 15:32:14  №2069327 148
15293260325950.jpg (117, 645x410)
410x645
Ответы: >>2069496 >>2069695
Аноним 2021/06/15 15:48:25  №2069352 149
>>2068110
Интересно, для себя
Аноним 2021/06/15 17:18:32  №2069494 150
всем привет.
до уровня джуна (хорошие знания php + база laravel/yii2 + mysql) за сколько подтягивается?
Ответы: >>2069501 >>2069818
Аноним 2021/06/15 17:19:23  №2069496 151
>>2069327
Я Макаров, но, скорее всего, не тот, о котором ты написал
Ответы: >>2069551 >>2069695
Аноним 2021/06/15 17:22:07  №2069501 152
>>2069494
Оптимально за пол года фултайм (40ч в неделю) можно выйти с нуля на джуна и пойти штурмовать собесы.
Только побольше кода пиши на голой пыхе и с фреймворками.
Результатом учебы должен быть какой-нибудь пет проект на фреймворке с основными фичами (пара крудов, авторизация, хождение в сторонние апи)
Ответы: >>2069515
Аноним 2021/06/15 17:32:13  №2069506 153
Как через PDO получить количество затронутых строк? Надо проверить есть ли уже в дб вводимое значение. То что пробовал нихуя не работает(((
Ответы: >>2069512
Аноним 2021/06/15 17:39:21  №2069512 154
>>2069506
rowCount, это rows affected для запроса.
А если просто количество, то через select count, очевидно же.
Аноним 2021/06/15 17:42:00  №2069515 155
>>2069501
ну знания пыхи на базе есть в связке с бд. могу круд приложение написать. я переживаю по большей части за то, что я ебланил всё своё время. как вытекающие: 5 записей в тк (начал с веб-разработчика, потом пошёл на завод, на склад, в вуз программистом, потом блять логистом поработал, причём только в двух местах работал 5 и 12 месяцев. в остальных по две недели). это уже пиздец тотальный? даже если ахуенные знания будут, мне кажется не возбмут чела со склада блять.

мне 25 только стукнет
Аноним 2021/06/15 18:28:47  №2069551 156
>>2069496
Да ладно, Санек, не шифруйся.
Ответы: >>2069695
Аноним 2021/06/15 18:34:21  №2069559 157
Аноним 2021/06/15 20:20:54  №2069695 158
>>2069551
>>2069496
>>2069327
А чё за приколы? Так-то если без шуток СамДарк крутой программист и дизайн архитектор. дрочу на него
Ответы: >>2069867
Аноним 2021/06/15 21:39:58  №2069748 159
ПОЧЕМУ ЭТО ВЫДАЕТ 23?
<?php
$s = 2;
switch ($s){
case 1:
echo 1;
case 2:
echo 2;
case 3:
echo 3;
break;
default:
echo "default";



}
Ответы: >>2069752 >>2069757 >>2069818
Аноним 2021/06/15 21:42:26  №2069752 160
>>2069748
Вопрос отпал.
Но нахуя?
Аноним 2021/06/15 21:51:06  №2069757 161
>>2069748
Это пиздануто из си, а там вроде было сделано, чтобы несколько кейсов хуярить, т.е.
case 1:
case 2:
hui
break;

case3:
Аноним 2021/06/16 02:12:45  №2069805 162
>>2069515
Что мешает завести новую трудовую если тебя это так беспокоит? Да и вообще если ты по скиллам и знаниям устроишь работадателя то не похуй ли ему где ты там раньше работал?
Аноним 2021/06/16 04:42:40  №2069818 163
>>2069494
Смотря с какого уровня. Если не умеешь кодить вообще - год с нуля. Если умеешь кодить на питоне задачи, быстрее.

>>2069748
Это тебя зумера троллят чувак поопытнее? Жоска


> попробовать покоммитить в опен сорс проекты.

Кста, я хочу покоммитить куда-то. Но даже в душе не ебу как начать. Мануал есть?

>>2069515

Хуйня все это. У нас люди уходили на контракт на 3 года а потом возвращались и снова в код. И нихуя. Некоторые выкатывались из айти и вкатывались обратно. Одному мне збс
Ответы: >>2069882
Аноним 2021/06/16 06:47:50  №2069867 164
>>2069695
Вот тройку зарелизит лет через 15, тогда и посмотрим.
Аноним 2021/06/16 07:15:07  №2069882 165
>>2069818

> Кста, я хочу покоммитить куда-то.

Не надо "коммитить" куда-то. Обычно люди контрибьютят в те проекты, которыми они пользуются или в которых они сами заинтересованы.

Ну например: ты используешь какой-нибудь WYSIWYG редактор в своей админке, но в нем нет опции для вставки в текст картинок. Ты ее делаешь и контрибьютишь - либо как изменения в редактор, либо как плагин, если в нем поддерживаются плагины.

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

Или другой пример: тебе нужно проверять на правильность какой-нибудь ИНН, а готовой библиотеки нету. Ты пишешь свою и выкладываешь в опен-сорс.

Или: есть какая-то полезная библиотека, но она платная и с жесткими условиями лицензирования. А нужна. Ты пишешь открытый аналог.

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

Но общая идея в том, что ты контрибьютишь в то, чем ты сам пользуешься и что тебе интересно.

А как именно контрибьютить: клонируешь проект, делаешь правки, проверяешь, если в проекте используются тесты, то покрываешь свои правки тестами, оформляешь свой код в соответствие с требованиями, делаешь пулл-реквест.
Ответы: >>2070707
Аноним 2021/06/16 10:06:43  №2070045 166
Симфоводы, почему у класса Request нет интерфейса и соответственно половина фреймворка завязана на эту конкретную реализацию? Что делать, если я хочу написать обертку над реквестом с парой нужных мне методов? Уже не нужно на самом деле, но просто любопытно
Ответы: >>2070119 >>2070458 >>2070701
Аноним 2021/06/16 10:51:15  №2070119 167
>>2070045
Имхо, скорее всего он был написан еще при царе горохе.
Там один класс на 2к строк, хз, какой ты интерфейс туда хочешь
Ответы: >>2070419
Аноним 2021/06/16 13:20:00  №2070319 168
>>2069515
Лол блять, я с пустой трудовой в 34 ватываюсь
Ответы: >>2070377 >>2070404 >>2070427
Аноним 2021/06/16 13:54:12  №2070377 169
>>2070319
и что, долго вкатываешься?
Аноним 2021/06/16 14:07:51  №2070404 170
>>2070319
Лол, я в свои 29 лет уже понимаю, что поезд ушел, и развиваться реально только в своей, уже надоевшей, специальности, а ты в 34 такой глупый.
Ответы: >>2070430 >>2087758
Аноним 2021/06/16 14:24:01  №2070419 171
>>2070119
> хз, какой ты интерфейс туда хочешь
Да хоть marker interface как в жабе
Аноним 2021/06/16 14:38:17  №2070427 172
image.png (338, 1920x1080)
1080x1920
Ответы: >>2070429
Аноним 2021/06/16 14:42:59  №2070429 173
>>2070427
Лет через 20 будет полно дидов.
Ответы: >>2070436
Аноним 2021/06/16 14:43:59  №2070430 174
>>2070404
>уже понимаю, что поезд ушел
Ну так все правильно, ты уже выгорел, потерял интерес. Нефиг было с 14 лет кодить.
Уходи на пенсию и дай место молодым, 30+ летним, которые про кодинг узнали год назад.
Ответы: >>2071155
Аноним 2021/06/16 14:48:09  №2070436 175
>>2070429
Или не будет. В любом случае, сейчас 34 - слишком великовозраст для реального шанса на вкат.
Ответы: >>2070440 >>2070463 >>2087765
Аноним 2021/06/16 14:53:11  №2070440 176
>>2070436
Чел.. на мнение двачеродаунов по поводу возраста уже давно всем похуй, просто смирись с этим.
>>2069515
Да, ты уже слишком старый. Устраивайся продавцом в пятерочку и не мешай адекватам вкатываться.
Ответы: >>2070442 >>2070479
Аноним 2021/06/16 14:56:49  №2070442 177
Ответы: >>2070445
Аноним 2021/06/16 15:00:43  №2070445 178
>>2070442
Ну ты там другие графики посмотрел бы тоже.
>White or of European descent 70.8%
>Black or of African descent 3.6%
Ох, фсееее, бида-печаль
Если ты темнокожий, то у тебя нет шансов на вкат.
Ответы: >>2070454
Аноним 2021/06/16 15:08:28  №2070454 179
>>2070445
И что не так?
И при чем другие графики, если речь шла о возрасте
Ответы: >>2070462
Аноним 2021/06/16 15:10:36  №2070458 180
>>2070045

> Что делать, если я хочу написать обертку над реквестом с парой нужных мне методов?

Для этого не нужен интерфейс (зачем?), ты просто можешь унаследовать свой класс от Request. Хотя мне не нравится такая идея, так как это неожиданно, что вместо стандартного реквеста используется что-то нестандартное. Это плохая идея расширять какие-то стандартные классы, как мне кажется.

Или, как вариант, просто делаешь класс RequestUtils и в нем статические методы для работы с реквестом. Здесь нет никаких проблем с неочевидностью кода.

А так, интерфейс для реквестов есть - PSR-7. Просто он придуман позже, чем реквест из симфони.
Ответы: >>2070583
Аноним 2021/06/16 15:12:33  №2070462 181
>>2070454
>И при чем другие графики
Ну если ты не в состоянии это понять, то на твое место точно очень скоро вкатится успешный дедок 30+, хех.
Ответы: >>2070464
Аноним 2021/06/16 15:13:10  №2070463 182
>>2070436
Ну а хули ещё делать? Я все ещё девственник, все свободное время провожу за компом, тут либо самовыпил либо вкат с перспективой покупки японской секс-куклы
Ответы: >>2070464 >>2070468 >>2070474
Аноним 2021/06/16 15:16:31  №2070464 183
>>2070462
Ну так объясни, что тебе дают другие графики? Пока что выглядит как перевод стрелок с не приятной темы возраста.

>>2070463
Есть много других работ
Ответы: >>2070478
Аноним 2021/06/16 15:20:56  №2070468 184
>>2070463
>все свободное время провожу за компом
Вот здесь кстати кроется серьезная ошибка.
"Проводить время" - фактически досуг, это совсем не значит, что тебе понравится/получится за компом работать. Как бы даже не наоборот.
Аноним 2021/06/16 15:26:31  №2070474 185
>>2070463
Пет проект написал?
Аноним 2021/06/16 15:32:00  №2070478 186
>>2070464
>Ну так объясни, что тебе дают другие графики?
Статистику они дают, такую же точно статистику.
По статистике темнокожих кодеров на стековерфлоу - 3 процента
По той же статистике кодеров в возрасте 45+ - 3 процента
Означает ли это, что у кодера 45+ такие же шансы на вкат, как у темнокожего?
Каковы шансы на вкат у темнокожего кодера в возраста 45+?
Уверен ли ты, что на графиках достаточно информации, чтобы ответить на эти вопросы?
Ответы: >>2070493
Аноним 2021/06/16 15:32:38  №2070479 187
>>2070440
я просто указал, что стукнет 25. без мысли, что уже поздно. Переживаю за то, что везде блять поработал
Ответы: >>2070494
Аноним 2021/06/16 15:39:56  №2070493 188
>>2070478
Я уверен, что эта выборка - репрезентативна.

>Означает ли это, что у кодера 45+ такие же шансы на вкат, как у темнокожего?
Ну вот пошли откровенные виляния и маняврирования. При чем здесь темнокожий, если изначально речь шла о возрасте.
Ответы: >>2070495 >>2070497
Аноним 2021/06/16 15:39:59  №2070494 189
>>2070479
Ни сы. В пхп не идут упругие зумеры. Так что еще успеешь вкатится
Аноним 2021/06/16 15:45:16  №2070495 190
>>2070493
Что интересно, пхп появился, когда 45-летнему было 20 с не большим. А первые годы (если не десятилетие) рождения языка - это практически полное отсутствие работы на нем.
Таким образом наш 45летний пациент сам мог вкатиться в пыху ближе к 30-35 годам, а сейчас это обычный синер
Ответы: >>2070506
Аноним 2021/06/16 15:48:04  №2070497 191
>>2070493
>При чем здесь темнокожий, если изначально речь шла о возрасте.
Ты реально довольно тупенький.
Но это хорошо:) Больше тупых зумерков = меньше конкуренции.
Даже не буду тебе советовать прочитать одну книжку, вдруг и вправду прочтешь, лол.
Ответы: >>2070503
Аноним 2021/06/16 15:52:31  №2070503 192
>>2070497
Ну то есть по существу тебе сказать нечего и ты отчаянно переводишь стрелки с неприятной темы возраста
Ответы: >>2070531
Аноним 2021/06/16 15:53:46  №2070506 193
>>2070495
>Таким образом наш 45летний пациент сам мог вкатиться в пыху ближе к 30-35 годам,
Это с хуя ли вдруг? "Вкатываются" в любые языки в основном молодые упругие зумеры.
Аноним 2021/06/16 15:57:56  №2070510 194
image.png (442, 535x495)
495x535
Не понимаю, о чем вообще разговор, ладно чел 25lvl, он и вебмакакой побывал, релевантный опыт вот это всё. Но 30+лвл вкатыш это пиздос, такое резюме летит в корзину автоматически, по первой цифре возраста.
Даже hh вам ебалаям уже открыто говорит видимо совсем доебали, что для смены сферы деятельности в 30+ ты уже староват, нееш подумой, а если всё же долбоеб решился - ищи блядь по связям:

https://hh.ru/article/28696
Это возрастное! Как сменить профессию после 30 лет


>Ищите работу через нетворкинг: расскажите всем, что хотите перейти в новую сферу, через личный контакт вам будет проще объяснить ваше решение. Напишите в социальных сетях и поиске.
Ответы: >>2070524 >>2070545 >>2070862
Аноним 2021/06/16 16:18:46  №2070524 195
>>2070510
Твое мнение очень важно для нас, оставайся на связи.
>Анна Чуксеева
>карьерный психолог
>hh
Лол
Какие же зумеры дегенераты, пиздец просто.
Ответы: >>2070533
Аноним 2021/06/16 16:21:41  №2070531 196
>>2070503
Мне нет выгоды объяснять тебе простейшие положения статистики и теории вероятности.
Ответы: >>2070533
Аноним 2021/06/16 16:26:15  №2070533 197
>>2070524
>>hh
Да, что не так? Первой будет оценивать твоё резюме такая же анна - и для неё в свои 30+ ты уже возрастной и вообще лучше поискал бы по знакомым.

>>2070531
Простейшие положения статистики и теории вероятности: из общего количества профессиональных разработчиков 71,7% младше 35 лет, а 85% — младше 40 лет. Это необычно по сравнению почти с любой профессией в мире.
Ответы: >>2070547 >>2070556
Аноним 2021/06/16 16:36:48  №2070545 198
>>2070510
Приходит такой зумер устраиваться пыхарям, а у них легаси возрастом старше этого зумера
Аноним 2021/06/16 16:39:02  №2070547 199
Ответы: >>2070564
Аноним 2021/06/16 16:45:45  №2070556 200
z16132018099450.png (83, 400x344)
344x400
>>2070533
>Да, что не так? Первой будет оценивать твоё резюме такая же анна - и для неё в свои 30+ ты уже возрастной и вообще лучше поискал бы по знакомым.
Ответы: >>2070567
Аноним 2021/06/16 16:51:21  №2070564 201
>>2070547
Кризису доткомов 20 лет исполнилось, дедуль
Ответы: >>2070568
Аноним 2021/06/16 16:57:41  №2070567 202
Ответы: >>2070569
Аноним 2021/06/16 16:58:04  №2070568 203
>>2070564
А первому компьютеру так вообще 80 лет.
Ты иди лучше пориджа наверни, манька.
Аноним 2021/06/16 16:58:58  №2070569 204
zimages.jpg (5, 237x213)
213x237
>>2070567
>Ирония в том, что такой зумер может оказаться твоим начальником
Ответы: >>2070576
Аноним 2021/06/16 17:04:19  №2070575 205
Что за кипеш в треде? Пориджеблядки из /б/ протекли что ли? Сам вкатился в 16-м году будучи дедом за 30. Менял работу четыре раза и никто на этапе собеседований ни разу не интересовался моим возрастом. Возможно, что на галерах все иначе (скорее всего там действительно отдадут предпочтение малолетней петушне без самоуважения, которая позволит собой помыкать), но я там работать и не собираюсь
Аноним 2021/06/16 17:05:25  №2070576 206
image.png (1254, 1280x720)
720x1280
Ответы: >>2070863
Аноним 2021/06/16 17:10:54  №2070583 207
>>2070458
Я не могу ничего унаследовать, поскольку некоторые симфонивские штуки требуют именно этот самый реквест, вместо интерфейса.

>мне не нравится такая идея, так как это неожиданно, что вместо стандартного реквеста используется что-то нестандартное.
Если при наследовании код может работать с потомком наследуемого класса так же как с предком какая буква из солид? лол, то никакой проблемы в этом нет
Ответы: >>2070992 >>2070997
Аноним 2021/06/16 18:44:23  №2070701 208
>>2070045
>почему у класса Request нет интерфейса
наследие
>хочу написать обертку над реквестом
класс открыт для наследования

напиши что конкретно ты хотел сделать и зачем?
Аноним 2021/06/16 19:12:01  №2070707 209
>>2069882

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

Но нужно что-то где есть норм баги, а не где все стабильно и их воспроизводить 100к. И хотелось бы не в либу контрибутить на самом деле а в продукт. Я бы в блендер хуярил есл бы кресты зн
Ответы: >>2071146
Аноним 2021/06/16 19:18:33  №2070710 210
Нахуй вы меня демотивируете своими сообщениями, что диды не нужны???

мимо30лвл-начал-изучать-только-только

Короче, если эти карьерные психологи будут выебываться на собесах, сразу на фриланс уйду, на англоязычные биржи.
Ответы: >>2070714 >>2070723
Аноним 2021/06/16 19:25:31  №2070714 211
зunnamed.png (101, 512x460)
460x512
>>2070710
>Нахуй вы меня демотивируете своими сообщениями, что диды не нужны???
Это порриджи развлекаются, не обращай внимания.
Аноним 2021/06/16 19:37:49  №2070723 212
>>2070710
На фрилансе нужны уже опытные, с нуля нахватаешь за щеку таких минусов, что проще будет самому удалить аккаунт
Аноним 2021/06/16 19:39:54  №2070725 213
5kXFRdBNsz0.jpg (181, 2318x506)
506x2318
Всем приветики. Задача про кубики (рандомные значения). Я её решил, слегка переделал. Подскажите, код нормальный или говноедство?
Аноним 2021/06/16 19:43:38  №2070727 214
>>2070725
Ну так-то любой год на пхп это говноедство.
Такой уж у вас язык.
Ответы: >>2070730 >>2070960 >>2071061
Аноним 2021/06/16 19:45:53  №2070730 215
>>2070727
А ты чего тогда тут забыл?
Ответы: >>2070744
Аноним 2021/06/16 19:49:00  №2070738 216
>>2070725
не до 6, а до 10 поставил просто потому что так захотел. я не кубики бросаю!!!
Аноним 2021/06/16 19:54:13  №2070744 217
Аноним 2021/06/16 20:00:54  №2070752 218
>>2070725
Какой там код, лол.
По оформлению лучше ифы со скобками и юзай интерполяцию вместо конкатенации.
Аноним 2021/06/16 22:11:19  №2070862 219
>>2070510
>для смены сферы деятельности в 30+ ты уже староват

Так тут не о смене сфере деятельности базар, а о первой работе после 30+ вообще.
Ответы: >>2070867
Аноним 2021/06/16 22:12:41  №2070863 220
>>2070576
>саморазвитие

>Яндекс

Чел...
Аноним 2021/06/16 22:16:00  №2070867 221
>>2070862
>а о первой работе после 30+ вообще.
Земля свободной кассой и желтой торбой
Ответы: >>2070872
Аноним 2021/06/16 22:37:02  №2070872 222
апр.jpg (32, 510x360)
360x510
>>2070867
>Земля свободной кассой и желтой торбой
Ответы: >>2070882
Аноним 2021/06/16 22:56:36  №2070882 223
image.png (194, 510x360)
360x510
>>2070872
>я вкачусь вот увидити
Ответы: >>2070885
Аноним 2021/06/16 23:07:58  №2070885 224
>>2070882
Не проецируй на взрослых дядек то что мамка тебя из дома выгоняет на работку и у тебя встал выбор между маком и выгоранием в 25. Я могу хоть до пенсии дома просидеть.
Аноним 2021/06/17 06:37:18  №2070960 225
>>2070727
«Ну так-то любой год на пхп это говноедство.
Такой уж у вас язык» — раздался пронзительный голос со стороны параши.
Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?
Перекладыватель жсончиков на других языках — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём макбук.
Ответы: >>2070972
Аноним 2021/06/17 06:55:02  №2070972 226
>>2070960
Пиздец у тебя подгорело. Видимо в самую точку.
Ответы: >>2071005
Аноним 2021/06/17 07:15:52  №2070992 227
>>2070583

Я не очень тебя понял. Допустим, в Симфони есть функция

doSomething(Request $req) { ... }

В соответствие с принципом Лисков, в эту функцию можно передать объект-наследник Request и это не нарушит тайп-хинты:

class MyRequest extends Request { ...}
doSomething(new MyRequest(...));

Ответы: >>2071048
Аноним 2021/06/17 07:21:11  №2070997 228
>>2070583

По моему, проблема есть. Допустим, у нас есть функция Symfony, которая возвращает реквест:

function getReq(): Request { ... }

И код, который ее использует, вызывает какой-то метод из твоего кастомного реквеста:

getReq()->doSomething();

при чтении кода здесь возникнет непонимание: откуда в реквесте из Симфони взялся метод doSomething()?

IDE и статический анализатор тоже здесь укажет на ошибку.

Или я что-то не понял?







Ответы: >>2071048
Аноним 2021/06/17 07:41:37  №2071005 229
>>2070972
А вот и тот самый рисователь кнопочек/перекладыватель жсончиков/крудоеб на петухоне/жопаскрипе нарисовался. Видимо, в самую точку, раз с копипастой заговорил.
Ответы: >>2071033
Аноним 2021/06/17 07:50:07  №2071012 230
Приветики-привет.
Назрел такой вопрос: масса книг и не знаю какую выбрать первой для изучения пыхи. Посмотрел учебник ОПа, который в шапке, мне не понравился. Мало конкретизации даже по типизации, а как по мне, это немаловажно.
Какую книжку выбрать? Котерова? Или видео-курсы какие-нибудь скачать или на ютубе вкуривать и параллельно гуглить?

А что если смотреть курсы или книги по пхп7, а щас уже 8, это не хуёво?

Сори за тупые вопросы, без них никак.
Ответы: >>2071097
Аноним 2021/06/17 08:12:29  №2071033 231
>>2071005
>рисователь кнопочек/перекладыватель жсончиков
Чем это отличается от говноёба пыхаря?
Ответы: >>2071047 >>2071051 >>2071706
Аноним 2021/06/17 08:21:11  №2071047 232
>>2071033
Зарплатой в 1.5-2 раза больше пыхарской
Ответы: >>2071057
Аноним 2021/06/17 08:21:23  №2071048 233
image.png (48, 931x254)
254x931
>>2070992
>>2070997
Что-то ты не туда разговор уводишь. Повторяю, что моя проблема состоит в том, что я не могу использовать наследник реквеста, так как симфони в разных местах требует тот самый конкретный реквест. И попытка подменить его наследником во фронт контроллере не прокатила.

PHP Fatal error: Declaration of App\ArgumentResolver\BlaBlaBlaResolver::supports(App\Request\Request $request, Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata $argument): bool must be compatible with Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface::supports(Symfony\Component\HttpFoundation\Request $request, Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata $argument)
Ответы: >>2071067 >>2072511
Аноним 2021/06/17 08:25:43  №2071051 234
>>2071033
Например, раздутым на пустом месте самомнением. Но юным петушкам-максималистам это объяснять бесполезно.
Ответы: >>2071057
Аноним 2021/06/17 08:29:12  №2071057 235
Ответы: >>2071197
Аноним 2021/06/17 08:33:00  №2071061 236
>>2070727

То же самое можно сказать про любой другой язык.

>>2070725

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

if (...) {
код 1;
} elseif (....) {
код 2;
} else {
код 3;
}

Также, подстановка переменных в строку ("число $number") читается лучше, чем склеивание строки из кусочков.
Ответы: >>2071123
Аноним 2021/06/17 08:38:17  №2071067 237
>>2071048

Приведенная тобой ошибка возникает не из-за того, что в Симфони нет интерфейса для реквеста. Если бы для реквеста был интерфейс, она бы точно так же возникла.

Если у тебя есть класс A, в нем метод принимает объект класса B, то при наследовании ты не можешь поменять тип аргумента на C (наследника B). Так как это нарушило бы принцип подстановки Лисков: старый код, передающий в метод объект B, сломался бы.

То же самое было бы, если бы аргумент имел тайп-хинт RequestInterface. Как только ты бы попытался заменить его на MyRequest, ты бы получил ту же самую ошибку.
Ответы: >>2071192 >>2071705 >>2071962
Аноним 2021/06/17 09:06:25  №2071097 238
>>2071012
>Посмотрел учебник ОПа, который в шапке, мне не понравился. Мало конкретизации даже по типизации, а как по мне, это немаловажно
На пыхе можно писать без типов.
У ОПа учебник для самых маленьких. Если ты уже можешь написать круд с/без фреймворка, то тебе учебник вряд ли пригодится.

>А что если смотреть курсы или книги по пхп7, а щас уже 8, это не хуёво?
1. 8ка еще не в продакшене и будет там не раньше чем через пару лет
2. В 8ке ввели 1.5 фичи, которые можно за вечер пощупать

Можешь взять котерова, но это по сути вольный пересказ документации
с php.net
Либо попробовать ларакасты - серии коротких видео по темам, там есть и основы пыхи и ооп
В любом случае твоя задача писать код, а не книжки читать и видео смотреть
Ответы: >>2071116 >>2071206
Аноним 2021/06/17 09:19:46  №2071116 239
>>2071097
Спасибо большое. Да, я знаю, что надо шкодить, просто я всегда привык прочитать что-то, например, когда тернарный оператор пробовал, а потом уже хуевертил с ним всё подряд. Мне проще запоминается, когда я что-то прочту, не пойму, попробую сделать, пойму наполовину, прочту ещё раз 10 и пойму окончательно, после чего ещё закеплю на практике. Ебанутый способ наверно, но для меня он рабочий.
Аноним 2021/06/17 09:22:03  №2071123 240
>>2071061
> не надо забывать фигурные скобки
Я когда-то наткнулся на статью, что скобки можно опустить, если одна операция в них идёт.
>чем склеивание строки из кусочков
Просто привык к конкатенации ещё с вуза (пиздец блять, 4 года почти прошло, как в вузе прогал и забросил это дело, и щас по новой учусь. какой же я бездарь, блять.)

Ответы: >>2071130 >>2071152
Аноним 2021/06/17 09:25:41  №2071130 241
>>2071123
>Я когда-то наткнулся на статью, что скобки можно опустить, если одна операция в них идёт.
Почитай этот момент в PSR. Насколько помню, скобки нужны, чтобы можно было зрительно распознать конструкцию. Без скобок это выглядит как обычная строчка вызова метода или присвоения
Аноним 2021/06/17 09:37:54  №2071146 242
>>2070707

Лучше всего, конечно, контрибутить в то, чем ты пользуешься или в чем заинтересован сам. Так ты и себе пользу сделаешь, и людям поможешь.

То есть процесс обычно такой: тебе что-то нужно -> готового решения нету -> ты либо пишешь свое, либо дорабатываешь чужое. Или ты используешь какой-то проект, видишь, что можно его улучшить, и улучшаешь.

В любом случае, тебе придется потратить время и разобраться в проекте, в котором ты хочешь что-то сделать.

Ты можешь зайти в список багов и сделать поиск по меткам. Во многих проектах есть метки вроде "help-wanted" или "up-for-grabs", которыми помечают баги для начинающих. Ты можешь использовать поиск на гитхабе для поиска таких багов. Тут есть список ссылок и меток для начинающих: https://gist.github.com/stefanmaric/d5a03eeb89af81e5537e2efe7dd479cf




Аноним 2021/06/17 09:40:59  №2071152 243
>>2071123

Язык позволяет пропускать скобки, но рекомендация PSR не рекомендует так делать, так как это ведет к ошибкам вроде такой:

if (...)
....action1;
....action2; // это действие выполняется независимо от условия!

Здесь кажется, что оба действия внутри if, а по факту только одно. Чтобы такого не было, надо ставить скобки.
Ответы: >>2071194
Аноним 2021/06/17 09:45:29  №2071155 244
>>2070430
Да я ж не про кодинг писал, а про свою профу, я вообще юрист.
Аноним 2021/06/17 10:23:22  №2071192 245
>>2071067
Это печально. А есть ли способы обойти такое поведение? В принципе у меня сейчас нет необходимости делать эту штуку, но просто интересно.
Ответы: >>2071962
Аноним 2021/06/17 10:23:54  №2071194 246
>>2071152
Спасибо за разъяснения!
Но я бы и не подумал использовать два действия без скобок.
Аноним 2021/06/17 10:27:02  №2071197 247
>>2071057
Посмотри зарплаты симфонистов на том же джинне (все свои четыре места работы на данный момент я находил именно там) и твой мирок пошатнется.
Ответы: >>2071216 >>2071224
Аноним 2021/06/17 10:34:54  №2071206 248
>>2071097
> 8ка еще не в продакшене и будет там не раньше чем через пару лет
С марта на восьмерке живем. Брат жив
Аноним 2021/06/17 10:37:34  №2071216 249
>>2071197
Так у хохлов зп больше, т.к. аутсорс за доляры + требуют разговорный инглиш
Ответы: >>2071254
Аноним 2021/06/17 10:41:27  №2071224 250
>>2071197
Посмотри зарплаты жопаскриптеров на том же джинне и заплачь
Ответы: >>2071254
Аноним 2021/06/17 10:54:53  №2071254 251
>>2071224
С чего бы мне плакать, если я фуллстек?
>>2071216
>требуют разговорный инглиш
И что? Хороший способ отсеять необразованную падаль.

Ответы: >>2071263 >>2071276
Аноним 2021/06/17 10:59:05  №2071263 252
>>2071254
>И что? Хороший способ отсеять необразованную падаль.
В рф много продуктовых с русскоязычными командами
Ответы: >>2071278
Аноним 2021/06/17 11:05:30  №2071276 253
>>2071254
С того, что работаешь за двоих, а зарплату получаешь за одного
Ответы: >>2071286 >>2071349
Аноним 2021/06/17 11:06:05  №2071278 254
>>2071263
Такая у вас специфика рынка и не факт, что это хорошо. Я сам из Беларуси и иногда вижу российские вакансии на сеньерские позиции с такими вилками, что хочется плакать. Удивительно, как они вообще умудряются кого-то нанимать
Ответы: >>2071297
Аноним 2021/06/17 11:10:23  №2071286 255
>>2071276
Не за одного, а как минимум за полтора.
Аноним 2021/06/17 11:14:36  №2071297 256
>>2071278
Не все хотят заморачиваться изучением разговорного инглиша
Ответы: >>2071630
Аноним 2021/06/17 11:48:35  №2071349 257
>>2071276

Ты пишешь какую-то ерунду. Он бы работал за двоих, если бы работал по 16 часов в сутки. Если он работает 8 часов в сутки, то он работает за одного.

Ответы: >>2071371 >>2071385
Аноним 2021/06/17 12:00:31  №2071371 258
>>2071349
Он фулкек - выполняет работу фронтендера и бекендера
Аноним 2021/06/17 12:08:23  №2071385 259
>>2071349
Так ему нужно сначала выдрочить скилы с двух проф, потом поддерживать их актуальными. Так что хотя бы х1.5 должна быть зп
Ответы: >>2071628
Аноним 2021/06/17 15:38:50  №2071628 260
>>2071385
Можно подумать, что колупание форм, кнопочек и запросиков требует каких-то неимоверных умственных усилий. Да там любая макака справится. А со времен появления vue.js это даже перестало вызывать особое отвращение
Ответы: >>2071633
Аноним 2021/06/17 15:40:42  №2071630 261
>>2071297
А получать жалких полтора косаря, будучи сеньером-помидором, хотят.
Ответы: >>2071632
Аноним 2021/06/17 15:41:33  №2071632 262
>>2071630
Получаю жалкие полтара косаря, не являясь синьором помидором
Аноним 2021/06/17 15:42:16  №2071633 263
>>2071628
Что ж тогда фулстеки не стоят по 20к руб в месяц, раз любая макака справится?
Ответы: >>2071639
Аноним 2021/06/17 15:49:18  №2071639 264
>>2071633
Потоиу что за работу с жопаскрипом принято доплачивать за вредность, типа как в совке сварщикам молоко выдавали.
Аноним 2021/06/17 17:34:27  №2071705 265
Ответы: >>2071759 >>2071962
Аноним 2021/06/17 17:38:27  №2071706 266
>>2071033
Как минимум тем, что на современном похапе жсончики перекладывать в разы приятнее, чем на пятоне или, прости Господи, жопаскрипте
Аноним 2021/06/17 18:46:02  №2071759 267
>>2071705

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

class Request {}
class BetterRequest extends Request {}

function test(Request $r) {}
test(new BetterRequest()); // работает

Интерфейс нужен там, где есть 2 разных реализации. Ты же хочешь не делать реквест с нуля, а доработать стандартный, значит тебе нужно наследование.
Аноним 2021/06/17 20:10:15  №2071855 268
Я чего-то туплю.
Поднял бабла ЛАМПУ, на неё накатил вордпресс. Хотел бы обращаться на неё по имени http://235, но не судьба.
По ip фурычит.
Что я делаю не так?

Ответы: >>2071946 >>2071965
Аноним 2021/06/17 21:26:35  №2071946 269
image.png (16, 482x282)
282x482
>>2071855
Это скорее вопрос в софтач или в веб. Резолвер у тебя на компьютере, с которого обращаешься, какой? Винда там? В настройки роутера зайди, там должна быть возможность настроить разрешение кастомных адресов в конкретные ip.
Ответы: >>2072013
Аноним 2021/06/17 21:45:21  №2071962 270
Ответы: >>2072091
Аноним 2021/06/17 21:46:18  №2071965 271
>>2071855
а что ты для этого сделал?
Ответы: >>2072013
Аноним 2021/06/17 23:39:11  №2072013 272
>>2071946
> Это скорее вопрос в софтач или в веб.
Пока посижу тут, а потом подсяду к ним.

> Резолвер у тебя на компьютере, с которого обращаешься, какой? Винда там?
Отдельная машина в локалочке, а на ней стоит Ubuntu.

> В настройки роутера зайди, там должна быть возможность настроить разрешение кастомных адресов в конкретные ip.
Гляну.

>>2071965
1. Изменил настройки пермалинка на "дружелюбные"
2. включил в апаче rewrite
3. отредактировал файл по пути /etc/apache2/sites-available/000-default.conf
4. Перезапустил апач

Ответы: >>2072030 >>2072171
Аноним 2021/06/18 01:50:58  №2072030 273
>>2072013
>Отдельная машина в локалочке, а на ней стоит Ubuntu.
>с которого обращаешься
Ответы: >>2074282
Аноним 2021/06/18 06:38:49  №2072083 274
yodabeingnaughty.png (568, 707x695)
695x707
Я не совсем понимаю, как должен выглядеть шаблон формы в HTML, чтобы при ошибке заполнения форма выводилась с уже подставленными значениями (и сообщением об ошибке). У текстовых полей можно через переменные заполнять value, но ведь формы ещё могут содержать select-элементы, в которых value не проставишь. В свою очередь, select'ы могут содержать сотни опций выбора. Я знаю об аттрибуте selected, но как мне его проставить автоматически именно в той опции, которую выбрал пользователь, а затем ввёл что-то невалидное. Нужно сделать так, чтобы его опции в select'ах сохранились при выводе ошибки на страннице формы.

Единственное, что приходит на ум - это составление функции, которая будет принимать аргументом уже проставленные пользователем значения, собирать форму по элементам и возвращать её код. Но это будет именно функция, а не шаблон. Наверняка тут есть какой-то конвенциональный подход. Как это лучше запилить?
Ответы: >>2072565
Аноним 2021/06/18 06:59:48  №2072091 275
>>2071962
Ты по ходу не прочитал в чем суть проблемы.
Ответы: >>2072271
Аноним 2021/06/18 08:40:04  №2072171 276
11.jpg (53, 500x480)
480x500
>>2072013
> 1. Изменил настройки пермалинка на "дружелюбные"
> 2. включил в апаче rewrite
> 3. отредактировал файл по пути /etc/apache2/sites-available/000-default.conf
> 4. Перезапустил апач

И как компьютер, с которого ты вводишь этот адрес, должен узнать, что где-то в каком-то апаче отредактирован конфиг?

Если я сейчас у себя отредактирую /etc/apache2/sites-available/000-default.conf и напишу туда хост BBC.COM -- у тебя он начнёт открываться с моего компа? очевидно нет

Читай про DNS, редактируй файл hosts на машине, с которой обращаешься.
Ответы: >>2074282
Аноним 2021/06/18 09:58:44  №2072271 277
>>2072091
Все я прочитал. В симфони по старинке используется https://symfony.com/doc/current/components/http_foundation.html
В то время как стандартом является PSR-7 https://www.php-fig.org/psr/psr-7/
И давным давно написали конвертер под этот стандарт https://github.com/symfony/psr-http-message-bridge

А написал я что вы велосипедите хуйню, в то время как все уже сто лет как по полочкам разложено. Что использовать в качестве реквеста, как делаются кастомные обертки над объектами, как какать и как писоть.
Ответы: >>2072341
Аноним 2021/06/18 10:02:55  №2072274 278
В шаблон так же можно прокинуть переменные из контроллера (введенные юзером значения формы, например). В популярных фреймворках это реализовано
Аноним 2021/06/18 11:00:26  №2072341 279
>>2072271
И как то, что ты написал, поможет подменить симфонивский реквест другой реализацией и использовать эту реализацию там, где различные штуки явно требуют симфони реквест?
Ответы: >>2072440 >>2072456
Аноним 2021/06/18 11:52:46  №2072431 280
Допустим есть красная точка на пикче, мне нужно удалить её(выкрутить альфа канал до полной прозрачности)
Через imagesetpixel у меня это чёт не получается, как я понял если указать в imagecolorallocatealpha прозрачность, он тупо этот(прозрачный) цвет и прибавит, нихуя в итоге не изменив.
Как зделоть-то?
Ответы: >>2072558
Аноним 2021/06/18 11:55:34  №2072440 281
>>2072341
В симфони реквест явно вставляется или через di контейнер?
Ответы: >>2072457
Аноним 2021/06/18 12:06:21  №2072456 282
>>2072341
Ты там угашенный что-ли? Попустись, пивка глотни.
Симфонивский реквест используется в симфони. А вне симфони используется PSR-7 реквест. ВНЕ, блядь. В НЕ симфоневском роутере, например. В собственных классах или бандлах. Каким хуем ты собрался менять код в штуках, которые "явно требуют симфони реквест"? Ты там vendor что-ли правишь?
Ответы: >>2072471
Аноним 2021/06/18 12:07:39  №2072457 283
>>2072440
Создается во фронт контроллере, а потом инжектится при необходимости
...
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
...
Аноним 2021/06/18 12:17:25  №2072471 284
>>2072456
Сам ты, блядь, угашенный. Посмотри на https://github.com/symfony/symfony/blob/5.4/src/Symfony/Component/HttpKernel/Controller/ArgumentValueResolverInterface.php и увидишь, что там явно требуется симфонивский реквест. И при написании своего резолвера хуй ты свой реквест туда засунешь. По крайней мере у меня не получилось, поэтому и задал вопрос.
Ответы: >>2072487 >>2072502
Аноним 2021/06/18 12:31:29  №2072487 285
>>2072471
Пробовал туда передавать наследника от симфони реквеста?
Ответы: >>2072511
Аноним 2021/06/18 12:50:04  №2072502 286
Ответы: >>2072511
Аноним 2021/06/18 13:14:39  №2072511 287
>>2072487
Конечно. И получал ошибку - >>2071048

>>2072502
Пока не приведешь пример, как с помощью того, что ты принес в тред, написать резолвер для DTO или VO, который внутри будет использовать наследник реквеста, тугой здесь ты.
Ответы: >>2072517 >>2072540
Аноним 2021/06/18 13:17:04  №2072517 288
>>2072511
Так ты не декларацию этих методов правь, а передавай, где надо, свой класс вместо симфонивского
Аноним 2021/06/18 13:28:15  №2072540 289
TameRequiredJaeger.mp4 (292, 576x304)
304x576
>>2072511
В резолвер инжектится ФАБРИКА. Фабрика принимает симфоневский реквест, а возвращает PSR реквест. Ты можешь прокинуть эту ФАБРИКУ в ЛЮБОЙ резолвер, пусть он хоть DTO возвращает, хоть АЛЛАХА.
Ответы: >>2072559 >>2072585 >>2072605
Аноним 2021/06/18 13:42:24  №2072558 290
15986403473341.mp4 (7506, 640x360)
360x640
>>2072431
Очевидно что альфа-канал не влияет на сам цвет.

Что (какой цвет) должно остаться под альфа? оно само за тебя должно придумывать, что ли?
Аноним 2021/06/18 13:43:08  №2072559 291
>>2072540
напомните, откуда кадры?
Ответы: >>2083903
Аноним 2021/06/18 13:51:51  №2072565 292
>>2072083

Простановка атрибута selected делается так. Пусть $value - это выбранное пользователем значение, которое надо пометить:

<select>
<option value="x" <?= $value === 'x' ? 'selected' : '' ?></option>
<option value="y" <?= $value === 'y' ? 'selected' : '' ?></option>
...

(тут использован тернарный оператор)

Если ты не пишешь <option> руками, а генерируешь из массива опций, то код будет еще проще.
Ответы: >>2072568 >>2073400
Аноним 2021/06/18 13:53:34  №2072568 293
>>2072565
selected="selected" же, не? хОтя могу ошибаться, а проверять лениво.
Ответы: >>2073304 >>2073477
Аноним 2021/06/18 14:13:10  №2072585 294
>>2072540
Так анону требовался наследник симфореквеста с дополнительной функциональностью, а не PSR.
Ответы: >>2072589
Аноним 2021/06/18 14:19:47  №2072589 295
>>2072585
Так я ему и объясняю что он пытается дрочить вприсядку. Если тебе нужен именно реквест, то PSR-7 это отраслевой стандарт, он покрывает все что ты только можешь с реквестом сделать. А если тебе нужна производная от реквеста, то это уже нихуя не реквест и нахуй не надо что-то там наследовать или имплементировать.
Аноним 2021/06/18 14:41:06  №2072605 296
>>2072540
Корявое говно. С таким же успехом я могу просто инжектить в резолвер сервис с нужной функциональностью. Именно этого я и пытался избежать в попытке подменить реквест на уровне приложения. Ну и нихуя не удивительно, что от человека, который хотел кого-то удивить адаптером, ускользнул основной смысл моего вопроса.
Ответы: >>2072641 >>2072646
Аноним 2021/06/18 15:02:24  №2072641 297
>>2072605
>С таким же успехом я могу просто инжектить в резолвер сервис с нужной функциональностью. Именно этого я и пытался избежать
А нахуя?

>в попытке подменить реквест на уровне приложения
Зачем?
Аноним 2021/06/18 15:05:26  №2072646 298
>>2072605
Да все, все. Пену вытри. Ты охуенный программист. Верю. Только про PSR не в курсе. Да и di с композицией у тебя говно корявое, а вот подменять вендорские объекты для всего приложения это заебись идея. Ну заебень рефлексией или трейтом, как там у вас гениев принято.
Ответы: >>2072692
Аноним 2021/06/18 15:41:55  №2072692 299
>>2072646
Чел, речи про ПСР реквест изначально не шло вообще, это ты его приплел. Касательно подмены объекта, я же не изменяю старое поведение, а добавляю новое. Все в соответствии с заповедями Варвары. Рефлексию я, конечно же, использовать не буду да и вообще уже отказался от этой идеи. Извини, если погорячился.
Ответы: >>2072705
Аноним 2021/06/18 15:57:20  №2072705 300
>>2072692
Да я просто подъебываю. Ты понимаешь что только ты решил следовать заповедям варвары? Ты не контролируешь процесс, что там с этим реквестом будет происходить, и кто че подменял и ещё подменит не знает никто.

Поэтому трогать вендорную хуйню нельзя ни в коем случае. В реальном проекте я бы определил твой реквест в di контейнере и прокидывал бы в контроллер просто через конструктор. И сразу начнет вырисовываться что это нихуя не реквест. Потому что реквест, даже симфонивский может делать все что нужно http запросу - возвращать пришедшие на сервер данные. А все остальное это уже обработка запроса.
Аноним 2021/06/18 20:32:09  №2073107 301
Это реально так?
Ответы: >>2073128
Аноним 2021/06/18 20:59:23  №2073128 302
>>2073107
Просто смотри на зарплату. Иногда с джуна просят докеры, ПСР, ООП, юнит-тесты, и плотят 80к со старта, а иногда уметь вордпресс\опенкарт настроить и плотют 30к.
Главное не перепутать: прогинг за 80к, имплементация за 30к. Работодатели же обожают просить ВСЁ за 30к.
Аноним 2021/06/19 05:29:25  №2073304 303
>>2072568

Можно писать просто selected, так как это boolean attribute.
Аноним 2021/06/19 08:26:02  №2073400 304
>>2072565
Спасибо за подсказку, я никак не мог до этого додуматься.
Аноним 2021/06/19 09:34:26  №2073477 305
>>2072568
а тред засирать тебе не лениво, пидор?
Ответы: >>2073937
Аноним 2021/06/19 17:36:16  №2073937 306
>>2073477
пидор твоя мать, пидор
Ответы: >>2074148
Аноним 2021/06/19 23:00:42  №2074148 307
15989850078290.jpg (188, 912x1282)
1282x912
>>2073937
> пидор твоя мать, пидор
суть PHP
Аноним 2021/06/20 06:20:00  №2074217 308
Сап двач. Подскажите пожалуйста, что кидать в портфолио, помимо интернет-магазинов, CMS, и блогов. Чтобы выделятся, от остальных?
Ответы: >>2074425 >>2074430
Аноним 2021/06/20 08:26:49  №2074282 309
>>2072030
Шинда дриснятая.
Сборка: много говна, мало палок

>>2072171
Вот как раз я не хочу редактировать файл hosts. Планируется заход с дрюса.
Ищу альтернативный путь.

Почитаю про DNS.


Ответы: >>2075357 >>2076649
Аноним 2021/06/20 11:10:41  №2074425 310
>>2074217
> портфолио

Ты уже выделился
Ответы: >>2074430 >>2074477
Аноним 2021/06/20 11:12:44  №2074430 311
>>2074217

согласен с этим
>>2074425

чекни резюме вкатунов - быть лучше них довольно легко.
Ответы: >>2074484
Аноним 2021/06/20 12:09:04  №2074477 312
Аноним 2021/06/20 12:14:14  №2074484 313
Аноним 2021/06/20 18:55:45  №2074992 314
Gjj
Аноним 2021/06/21 08:12:52  №2075357 315
>>2074282
>Вот как раз я не хочу редактировать файл hosts.
Как бы ты или покупаешь домен и направляешь на ip, или поднимаешь в локалке DNS свой, в нём делаешь редирект(будет работать только внутри локалки, и то только если ты этот днс укажешь в том роутере который за интернеты отвечает), или редактируешь hosts. Как ещё это по твоему может работать?
Аноним 2021/06/21 12:11:39  №2075778 316
Кто-нибудь использует api platform в рабочих проектах? Поясните за плюсы и минусы
Аноним 2021/06/21 23:59:38  №2076649 317
>>2074282
> не хочу
тогда пердолься ради своих фантазий
Аноним 2021/06/22 16:30:36  №2077283 318
Пишу синхронизацию данных.
На обработку одного item-а приходится где-то 1-6 запросов в бд. Item-ов может прийти до 10к.
Офк это всё происходит в фоне, запускается с ребита, но даже так джоба задыхается и повисает.

Есть какие-то паттерны оптимизации синхронизации данных?

Раньше делал вместо обработки по 1 айтему сразу пачкой (по 100 или 1000), соотв объединял операции вставки, получалось на порядок быстрее.

Можно ли что-то еще тут придумать или идти проверенным путем?
Ответы: >>2077361 >>2078244
Аноним 2021/06/22 18:46:30  №2077361 319
16218023289390.png (2798, 1200x800)
800x1200
>>2077283
1 -- непонятно, что ты делаешь, распиши подробнее

2 -- непонятно, почему синхронизация БД на уровне РНР, а не СУБД
Ответы: >>2077374
Аноним 2021/06/22 18:57:56  №2077374 320
>>2077361
Получаю данные апи, потом актив рекордом пишу в базу в несколько таблиц-сущностей, соответственно проверяю, чтоб не было дубликатов перед записью.
Тут скорее не синхра, а фетч данных.

Потому что данные получаю по апи в непригодном для записи формате, их нужно обработать, раскидать по разным сущностям
Аноним 2021/06/22 18:59:12  №2077377 321
Ответы: >>2077380 >>2077384
Аноним 2021/06/22 19:01:23  №2077380 322
>>2077377
То, что на 1к сущностей уходит минут 5. А там их может быть >10к штук
Ответы: >>2077382
Аноним 2021/06/22 19:04:44  №2077382 323
>>2077380
В транзакции апдейтишь?
Ответы: >>2077406
Аноним 2021/06/22 19:05:06  №2077384 324
>>2077374
>>2077377
>джоба задыхается и повисает.
оптимизировать вывод на уровне RabbitMQ;
понизить приоритет вставки;

> раньше делал сразу пачкой
так и делай, в чём проблема

>какие-то паттерны оптимизации синхронизации данных
>какие-то
это вообще не про программирование
конкретизируй

> раньше получалось на порядок быстрее
вообще непонятно, в чём проблема
Ответы: >>2077408
Аноним 2021/06/22 19:42:09  №2077406 325
Ответы: >>2077417
Аноним 2021/06/22 19:43:05  №2077408 326
>>2077384
Проблема в том, что нужно оч быстро переделать, т.к. сроки давно проебаны. А переписывать нормально + тестировать займет несколько дней
Аноним 2021/06/22 19:47:23  №2077417 327
>>2077406
Так добавь, зачастую из-за этого тормозят массовые вставки и апдейты. Если ещё инсерты переделать на много записей на один запрос, то вообще будет летать.
Ответы: >>2077420
Аноним 2021/06/22 19:49:15  №2077420 328
>>2077417
Спасиб, попробую. Не думал в таком ключе транзакцию использовать. Да и добавить недолго
Аноним 2021/06/22 20:03:30  №2077441 329
Хочу сказать этому ебаному wsl2. Ебаный ты козел, блядь, черножопый.
Столько времени не могут пофиксить баг, который делает работу на нем невозможной - работа замедляется раз в 10 из-за ебли с виртуальными виртуалками и абстракциями абстракций
Ответы: >>2077486 >>2077612
Аноним 2021/06/22 21:15:40  №2077486 330
>>2077441
Ты про баг с докером, которыц память не отдает?
Ответы: >>2077657
Аноним 2021/06/22 22:07:52  №2077503 331
>>2062494 (OP)
>Владимир Дронов: Laravel 8. Быстрая разработка веб-сайтов на PHPНа
Анончики, можно ли с этой книжкой вкатиться в написание простых бложеков с админкой? (не фриланс, конечно, а просто личные пет прожекты) Пхп почти не знаю, ООП не понимаю.
Есть ещё подробная литература по свежему пхп и какому-нибудь фреймворку?
Аноним 2021/06/22 22:08:57  №2077506 332
>>2077503
>подробная
подобная. т9фикс
Аноним 2021/06/22 22:18:58  №2077508 333
Аноним 2021/06/23 05:17:44  №2077577 334
>>2077503
Книжки по пхп - тупое говно тупого говна, особенно от наших авторов, лучше посмотри любой курс для новичков (Кудлая, например), а потом шлифани Елисеевым, если терпения хватит.
Ответы: >>2078234
Аноним 2021/06/23 06:02:23  №2077603 335
Лол
Аноним 2021/06/23 06:45:51  №2077612 336
>>2077441
скажи спасибо, что он вообще есть
Ответы: >>2077660
Аноним 2021/06/23 08:19:00  №2077634 337
>>2077503
берешь доку или ютуб
куча бесплатных курсов. Зачем книги по фреймворку?
Ответы: >>2078234
Аноним 2021/06/23 08:26:44  №2077636 338
>>2077503
Если тебе нужен правда простой бложек с админкой, то тебе хватит вот этого видоса:
https://www.youtube.com/watch?v=0Be0fX9wbXc
Автор тут явно мудак ибо даже я, не прогавший на ларавеле и только пару дней назад решивший его изучить для прохождения ТЗ на РАБоту очередную вижу кучу косяков. Но такие базовые вещи как шаблонизатор, роутинг, работа с БД тут рассмотрены. А больше особо и не надо, всё равно практика решает.
Ответы: >>2078234
Аноним 2021/06/23 08:43:41  №2077657 339
>>2077486
Я про баг (или это фича) оч медленной работы, если проект запускается из под wsl2, но лежит в примонтированной директории (/mnt/d/dev/...).
Вчера пытался перенести проект в home раздел, но чуда не произошло. Так же идут простейшие запросы по 30-40 секунд.
У коллеги на макоси всё хорошо работает 1-2 секунда на запрос.
По ходу только убунту накатывать и ебаться с видео дровами
Аноним 2021/06/23 08:45:52  №2077660 340
>>2077612
Да лучше б не было. Мб как человек сидел на линуксе
Аноним 2021/06/23 08:58:44  №2077663 341
>>2077657
Насколько я понмю, всл1 это была виртуалка, а всл2 какой-то слой эмуляции апи и он обсирается как раз, в первом работало лучше. Так что можешь поставить виртуалку и пробросить свои файлы два раза из хоста в гест и из геста в докер, будет всё равно лучше, лол.
Ответы: >>2077665
Аноним 2021/06/23 08:59:55  №2077664 342
>>2077657
>Вчера пытался перенести проект в home раздел, но чуда не произошло.

Вообще по идее должно нормально работать. Конвертни обратно в всл1 и посмотри результат.
Аноним 2021/06/23 08:59:55  №2077665 343
>>2077657
Первый раз о таком слышу. Чо на всл 1 что на всл2 всё рабоатет вполне норм из mnt

>>2077663
Ты всё напутал. Всл2 на виртуалке, а всл1 был слой трансляции сисколлов аля wine наоборот.
Аноним 2021/06/23 09:34:47  №2077711 344
>>2077657
тоже первый раз слышу, всё быстро работает

мониторь ресурсы компа
Аноним 2021/06/23 09:48:55  №2077728 345
>>2077657
У тебя случайно не хдд?
Ответы: >>2077743
Аноним 2021/06/23 09:54:11  №2077743 346
>>2077728
На ssd всё крутится.
С hdd несколько лет назад охуевать начал, когда вин10 накатил, подкопил на сосунг ево и забыл про тормоза
Аноним 2021/06/23 14:30:01  №2078108 347
>>2077374
>проверяю, чтоб не было дубликатов перед записью.
INSERT IGNORE какой-нибудь не проще?
Аноним 2021/06/23 15:16:50  №2078200 348
Посоны, кто-то делал авторизацию для подресурса на api platform?
Док предельно прост и нагляден: https://api-platform.com/docs/core/subresources/#access-control-of-subresources
Я нашел операцию через дебаг, проверил через attributes реквеста, прописал пикрил, а оно не работает.
Аноним 2021/06/23 15:45:50  №2078234 349
>>2077634
Зачем мне куча? Советуй конкретный.

>>2077636
Спасибо, попробую с этой хуйни начать

>>2077577
https://webformyself.com/laravel/
Этот? И что, он годный? Учитывает НОВШЕСТВА пхп 8?
На рутрекере не нашел
Ответы: >>2078245 >>2078257 >>2078368
Аноним 2021/06/23 16:00:08  №2078244 350
>>2077283
>>2077374
Там еще и Yii-шные бихейверы роль сыграли. Ебаный актив рекорд
Аноним 2021/06/23 16:01:04  №2078245 351
Ответы: >>2078246
Аноним 2021/06/23 16:02:04  №2078246 352
>>2078245
Я и не утверждал, что это Елисеев. Это Кудлай
Ответы: >>2078252 >>2078258
Аноним 2021/06/23 16:04:39  №2078252 353
Аноним 2021/06/23 16:07:37  №2078256 354
уебищность пхп по сравнению с другими нормальными языками очевидна с первых шагов - у пхп даже нет инсталлера под винду
Аноним 2021/06/23 16:07:58  №2078257 355
>>2078234
> Учитывает НОВШЕСТВА пхп 8?
Да что вы так цепляетесь за версии? Там 1.5 изменения
Аноним 2021/06/23 16:07:59  №2078258 356
>>2078246
так что лучше не начинай, анон. лучше js или джанго
Аноним 2021/06/23 16:10:40  №2078259 357
>>2078256
Что ты собрался на винде делать, когда рабочее окружение линупс в основном?
Аноним 2021/06/23 16:57:48  №2078287 358
>>2078256
Не пизди есть докер называется
Ответы: >>2079021
Аноним 2021/06/23 18:09:28  №2078368 359
Аноним 2021/06/23 20:45:24  №2078578 360
>>2078256
не пизди, пидор, полно пакетов типа XAMPP
Ответы: >>2079021
Аноним 2021/06/24 04:47:07  №2078708 361
>>2078256
Docker есть, и ещё тысяча способов решить это.
Ответы: >>2079021
Аноним 2021/06/24 06:40:07  №2078743 362
>>2078256
Зачем тебе инсталлер, еси ты можешь просто распаковать архив и запускать php.exe?
Ответы: >>2079021
Аноним 2021/06/24 10:12:37  №2078944 363
Аноны, решаю задачку со студентами, как решить проблему с установкой куки с локалхоста?
Ответы: >>2078972 >>2078973
Аноним 2021/06/24 10:45:10  №2078972 364
>>2078944
В чем проблема? Какая ошибка?
Ответы: >>2078994
Аноним 2021/06/24 10:46:23  №2078973 365
Ответы: >>2078994
Аноним 2021/06/24 11:00:06  №2078994 366
>>2078972
>>2078973
Мне надо отправить с локалхоста в браузер кукисы, но просто так это не выводит. Тупо в списке всех куки не появляется локалхост.

>Про это что ли?
Типа да, но то что там описано пробовал и не работает.
Ответы: >>2079020
Аноним 2021/06/24 11:30:11  №2079020 367
>>2078994
А пробовал в хостс поменять локалхост на какой-нибудь валидный с двумя точками?
Ответы: >>2079035
Аноним 2021/06/24 11:31:30  №2079021 368
>>2078287 >>2078708

Докер это не инсталлятор пэхэпэ, довен. У всех норм языков есть свой инсталлер.
>>2078578
XAMPP это не инсталлятор пэхэпэ, довен. XAMPP это комбайн из кучи говна, в числе которого есть и пэхапэ. У всех норм языков есть свой инсталлер.
>>2078743
Потому что я не в 1987 году, чтобы что-то руками распаковывать. Еще и в PATH руками добавлять? Лол, ты точно из 2021?
Ответы: >>2079041 >>2079144 >>2079182
Аноним 2021/06/24 11:42:29  №2079035 369
>>2079020
Фуххх.. Разобрался. Как обычно тупняк на ровном месте был, время устанавливал не как time() + 10 лет, а просто как 10 лет, получалось кукисы истекали в 1980 году. А так вместо локалхоста домен прописал как ".app.localhost" и схавало.
Ответы: >>2079039
Аноним 2021/06/24 11:44:52  №2079039 370
Аноним 2021/06/24 11:48:03  №2079041 371
>>2079021
Есть такой менеджер пакетов для винды chocolatey, им можно одной строчкой пхп установить как в лине
Ответы: >>2079258
Аноним 2021/06/24 13:30:46  №2079144 372
>>2079021
А зачем тебе standalone установщик php то? Что ты с ним делать будешь без вебсервера?
А если с вебсервером-есть куча готовых инсталлеров.

Алсо нахуя тебе на винде пыха?
Ответы: >>2079170 >>2079258
Аноним 2021/06/24 13:56:34  №2079170 373
>>2079144
>Алсо нахуя тебе на винде пыха?
Может он там десктоп пишет
Ответы: >>2079177
Аноним 2021/06/24 14:01:32  №2079177 374
>>2079170
Не ну если так... То огромной ему удачи, чо.
Аноним 2021/06/24 14:04:46  №2079182 375
>>2079021
без инсталлятора, не можешь что ли?
Ответы: >>2079258
Аноним 2021/06/24 15:12:14  №2079258 376
>>2079041
Да, я знаю про него. И по-прежнему, у пэхапэ нет своего инсталера.

>>2079144
> Что ты с ним делать будешь без вебсервера?
То же, что и с джангой без вебсервера.

>А если с вебсервером-есть куча готовых инсталлеров.
Васянских говносборок типа XAMPP?

>>2079182
Могу. Но не хочу. Это знаешь, как ездить на ручной коробке, когда все нормальные люди уже давно пользуются акпп.
Ответы: >>2079262 >>2079264 >>2079283
Аноним 2021/06/24 15:16:04  №2079262 377
Ответы: >>2079270
Аноним 2021/06/24 15:17:02  №2079264 378
>>2079258
>То же, что и с джангой без вебсервера.
НУ И ЧТО ЖЕ ТЫ БУДЕШЬ С НЕЙ ДЕЛАТЬ БЕЗ ВЕБСЕРВЕРА?
Ответы: >>2079270
Аноним 2021/06/24 15:24:24  №2079270 379
>>2079262
Денвер они не так давно убрали из доки, да?)

>>2079264
После установки языка без веб сервера я сам выберу подходящий мне веб сервер с нужными мне модулями и параметрами и установлю его отдельно. Если надо будет, конечно!
Ответы: >>2079285
Аноним 2021/06/24 15:37:50  №2079283 380
>>2079258
А еще nginx нельзя на винде запустить
Аноним 2021/06/24 15:38:33  №2079285 381
>>2079270
>Денвер они не так давно убрали из доки, да?)
Может и так. Но это прям оф. позиция разрабов языка. А значит ты идёшь на хуй.
>После установки языка без веб сервера я сам выберу подходящий мне веб сервер с нужными мне модулями и параметрами и установлю его отдельно.
Ну значит распакуешь из архивчика, не обломаешься.

Алсо выход есть. WSL накатываешь, apt-get install php.
Винда? Винда. Пхп? Пхп.
Ответы: >>2079377
Аноним 2021/06/24 17:45:08  №2079377 382
>>2079285
>Может и так. Но это прям оф. позиция разрабов языка. А значит ты идёшь на хуй.
Но в итоге-то пошли нахуй они, а не я.
Ответы: >>2079448
Аноним 2021/06/24 19:42:33  №2079448 383
>>2079377
Что ты всё еще тут делаешь? Давай иди в тред с языками, у которых есть инсталлер
Ответы: >>2079649
Аноним 2021/06/25 06:46:46  №2079649 384
>>2079448
Одно другому не мешает!
Аноним 2021/06/25 09:06:21  №2079750 385
>>2065935
Прям цитата из документации
Открывал я этот исходный говнокод, методы на 500 строк с кучей вложенных if и циклов, передача массивов по ссылке, хуй чего найдешь. А подключение шаблонов это прям искусство говнокода. Да и в целом 3 разных подхода, функциональный с глобальными переменными, ООП старый и ООП новый с неймспейсами и хуй пойми что из них работает, что нет, на что положили хуй, а чего ещё не дописали.
Ответы: >>2079756 >>2080623
Аноним 2021/06/25 09:08:37  №2079756 386
>>2079750
Ты у нас из секты свидетелей качественного кода?
А зачем писать не говнокод?
Ответы: >>2079787
Аноним 2021/06/25 09:45:09  №2079787 387
>>2079756
Ну если тебе нужно все сделать за минимум времени, получить деньги от заказчика и съебаться, ебись оно все конём, гори синим пламенем, как делают большинство битриксоидов и алкашей фрилансеров, то говнокод это твой выбор.
Если ты выпускает продукт с длительной поддержкой, над которым работают много разработчиков и который будут использовать тысячи разработчиков по всей стране, то писать чистый код это должно быть чем-то само собой разумеющимся.
Ответы: >>2079795 >>2079831
Аноним 2021/06/25 09:53:02  №2079795 388
>>2079787
>то писать чистый код это должно быть чем-то само собой разумеющимся.
Почему?
Ответы: >>2079801
Аноним 2021/06/25 10:04:19  №2079801 389
>>2079795
>Почему?
Большую часть времени приходиться не писать код, а именно читать. Когда у тебя есть какой-то метод в виде лапши на 300 строк кода, то после 100 строки ты уже забываешь что было выше и понимание как работает этот код усложняется, приходиться несколько раз перечитывать, тот же код вынесенный в отдельный класс и разбитый на методы в пару строк каждый читать в разы проще и проще вносить изменения. Плюс можно использовать различные паттерны, разбивать на сервисы и тп, в таких проектах сразу знаешь что где искать, а не блуждаешь в куче файлов и куче станок кода.
Ответы: >>2079810 >>2079890
Аноним 2021/06/25 10:12:40  №2079810 390
>>2079801
>Когда у тебя есть какой-то метод в виде лапши на 300 строк кода
>тот же код вынесенный в отдельный класс и разбитый на методы в пару строк каждый читать в разы проще и проще вносить изменения

Частным случаем лапшичного кода является как раз слишком сильное разбитие.
Нормальная длинна метода варьируется в зависимости от назначения оного от 1 строки(геттер, сеттер, ЕТС) до где то 40.
Но уж точно не по 2 строки на каждый. Я бы даже сказал что 20-40 строк более нормальный размер в большинстве случаев.
Но да, больше 40-перебор(хотя тоже есть исключения. Но крайне редкие).
Ответы: >>2079832 >>2080623
Аноним 2021/06/25 10:28:39  №2079831 391
>>2079787
Если работаешь с битриксом, то планка качества кода автоматом опускается к ядру земли
Ответы: >>2080125
Аноним 2021/06/25 10:29:58  №2079832 392
>>2079810
Лазанья кода, кстати, не видел. В основном перекос в сторону спагетти кода
Аноним 2021/06/25 10:58:38  №2079890 393
>>2079801
>приходиться несколько раз перечитывать
Ну так за это деньги платят
Аноним 2021/06/25 13:14:40  №2080096 394
Правда ли, что php лучший язык для фриланса на ангоязычных биржах вроде upwork? Какой фреймворк полезнее всего для такой деятельности? Ларавель?
Ответы: >>2080098
Аноним 2021/06/25 13:16:15  №2080098 395
>>2080096
>Правда ли, что php лучший язык для фриланса на ангоязычных биржах вроде upwork?
Конечно нет. Порог входа самый низкий, а значит самая высокая конкуренция. Не обладая синьорскими знаниями, делать на апворке с пхп нечего.
Ответы: >>2080308
Аноним 2021/06/25 13:16:48  №2080099 396
Ответы: >>2080115 >>2080123
Аноним 2021/06/25 13:26:08  №2080115 397
>>2080099
Глянул английскую версию, это чисто про core, про веб вообще там минимально для демонстрации некоторых фич.
Классная книга, надо будет читнуть как спиздят тру пдфку английскую.
На чистом вряд ли пишут, оно слишком быстро превратится в неподдерживаемый пиздец.
Ответы: >>2080122
Аноним 2021/06/25 13:29:13  №2080122 398
>>2080115
> про веб вообще там минимально для демонстрации некоторых фич.
Пиздец, учитывая название книги
Аноним 2021/06/25 13:29:42  №2080123 399
>>2080099
Какой-то вольный пересказ php.net
Аноним 2021/06/25 13:30:31  №2080125 400
>>2079831
Я уже с ним не работаю) и с php вообще
Ответы: >>2080127
Аноним 2021/06/25 13:31:48  №2080127 401
>>2080125
Грац. Только что ты тут делаешь?
Аноним 2021/06/25 13:32:08  №2080129 402
Изучаю этот ваш ларавел.
подрубал бутстрап так:
composer require laravel/ui

php artisan ui bootstrap

npm install && npm run dev

Всё работало. Но в какой то момент он пропал из app.css и app.js И повторно не врубается. Как так?
Ответы: >>2080152
Аноним 2021/06/25 13:43:37  №2080152 403
>>2080129
Всё, починил. СОрре.
Аноним 2021/06/25 13:49:50  №2080160 404
Ананасы, покажите как вы делаете свои гидраторы в доктрине, чтобы результатом запроса была не сущность (коллекция сущностей), а DTO.
Аноним 2021/06/25 14:27:42  №2080217 405
>>2080160
Господе, как много странных и непонятных слов
Ответы: >>2080242
Аноним 2021/06/25 14:45:49  №2080242 406
image.png (39, 1371x183)
183x1371
>>2080217
Хули непонятного-то?
Аноним 2021/06/25 15:31:23  №2080301 407
>>2080160
Ты хочешь получить DTO, в свойстве у которого коллекция сущностей? Есть прекрасный оператор new
Ответы: >>2080319
Аноним 2021/06/25 15:37:15  №2080308 408
>>2080098
Я знаком с челом, который на апворке делает 200-300к деревянных в месяц, работая по 4 часа в день. Ни разу в жизни не работал в офисе.
Ответы: >>2113124
Аноним 2021/06/25 15:41:45  №2080319 409
Ответы: >>2080620
Аноним 2021/06/25 16:46:47  №2080369 410
Простите за мою тупость, но я не понимаю, что я делаю не так.
https://ideone.com/GRUQrs
Ответы: >>2080377
Аноним 2021/06/25 16:57:21  №2080375 411
Какое же симфони охуенное, не надо писать гору велосипедов, просто подключил компоненты нужные и получается красивенький и понятный ооп-код.
Аноним 2021/06/25 17:00:59  №2080377 412
image.png (38, 664x354)
354x664
image.png (22, 624x238)
238x624
>>2080369
Бля, чел, пиши в пхпшторме. Ну серьезно.
Сколько раз вы будете обсираться на том, что за вас может машина сделать?
пик 1 функция mc_rand - погугли что ли)
пик 2 натыкал exit-ов я надеюсь с целью дебага?
Ответы: >>2080396
Аноним 2021/06/25 17:23:46  №2080396 413
>>2080377
Спасибо. Проиграл чет с mc_rand.
Аноним 2021/06/25 18:45:04  №2080487 414
Выполнил задачку про студентов. Где еще можно такие задания получить на построение КРУДов???
Ответы: >>2080536 >>2080573 >>2080620
Аноним 2021/06/25 19:29:18  №2080536 415
>>2080487
Запили библиотеку с авторами, книгами (чтоб учитывалось количество экземпляров) и читателями, которые могут брать книги домой. Можешь придумать систему уведомлений и штрафов за просроченные книги. Итд итп
Аноним 2021/06/25 20:28:42  №2080573 416
Аноним 2021/06/25 20:33:40  №2080574 417
Блин, и где про ООП для пхп читать? В гугле либо какая-то шняга, либо платная херь, на ютубчике вообще все видосы это объяснение как создавать всякие классы, приватные, защищенные методы и тд, объяснение синтаксиса и возможностей языка короче, а не то как все это на практике использовать...
Ответы: >>2080578
Аноним 2021/06/25 20:39:07  №2080578 418
>>2080574
В пхп та же хуйня что и в джаве с мелкими отличиями, так что читать классиков типа Фаулера и Мартина, попробуй допустим Patterns of Enterprise Application Architecture
Аноним 2021/06/25 20:40:19  №2080581 419
>>2080160

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

Я не очень понимаю, зачем тебе здесь понадобился DTO, и зачем тебе иметь 2 разных класса, которые представляют одну и ту же сущность. Разве это не дублирование кода? Доктрина и так возвращает объекты.

Если тебе нужно именно DTO, то придется копировать данные из объекта в объект руками или как-то еще. Или загружать Доктриной массив и заносить его в объект.
Ответы: >>2080613
Аноним 2021/06/25 21:07:11  №2080613 420
>>2080581
Нужно было просто сказать что для преобразования из/в DTO достаточно пары статических методов у Entity - fromDto, toDto. Разделение на dto и entity делается кода у нас rich model в entity инкапсулирующая бизнес правила, а dto заполняется symfony из реквеста.
Ответы: >>2080614
Аноним 2021/06/25 21:08:03  №2080614 421
>>2080613
>symfony формами из реквеста
Аноним 2021/06/25 21:22:46  №2080620 422
>>2080487

В шапке есть задача про тестхаб. Но там гораздо больший объем работы.

>>2080319

Еще мне не нравится, что он создал кучу классов: репозиторий (с интерфейсом), класс для представления id, Query (с интерфейсом). Страшно представить, сколько классов будет в реальном приложении с таким подходом. Лишнее усложнение, по моему.

И, что самое главное, не объясняет, зачем это сделано. Зачем нужно абстрагироваться от базы данных или зачем нужен репозиторий и объект Query на каждый запрос. Или зачем он делает интерфейсы на каждый класс. Или какая польза от его DTO и зачем нужно создавать его из массива.

Более того, идея абстрагироваться от БД за счет Query Object гиблая. Тебе понадобится сделать какую-то хитрую выборку, где Доктрина неэффективна - и тебе понадобится писать SQL-запрос. Без всяких абстракций. А это в его схему просто не встраивается.

Он не приводит никаких аргументов, кроме "так проще читать". У меня другие взгляды. По моему, так проще читать простой и короткий код. А не раскиданный по 5 классам и интерфейсам. Плюс, если на каждый запрос делать по 5 классов, то у тебя будет в 5 раз больше файлов и трудно в них ориентироваться. И в 5 раз сложнее редактировать такой код.

По моему, удобнее сделать сервис, а в нем find-методы. Просто и читабельно.

Еще мне не нравится метод byAuthorId() в FindLatestArticlesQuery. Он меняет состояние Query. Вызывая execute(), ты не знаешь: есть ли там фильтр по автору или нет. Может, кто-то его ранее поставил и тогда твой код начнет выдавать неправильный результат.

Также, мне не нравится метод hydrateSingleResultAs(). А как же типизация? Почему не указан возвращаемый тип? Получилась просто обертка над массивами в итоге.

И еще. У него получилось три объекта, представляющих статью: Article, ArticleDTO и LatestArticleDto. Допустим, мы хотим написать функцию, считающую число слов в статье. Как мы это сделаем, если статья имеет три разных представления? Еще один интерфейс сделаем?

И еще мне не нравится что он (или, скорее всего, какая-то кривая IDE) ставит бессмысленные аннотации вроде такого:

@return string
function x(): string {}

Такая аннотация не несет никакого смысла.
Аноним 2021/06/25 21:33:34  №2080623 423
>>2079810

Идея разбиения кода на части не в том, чтобы сидеть и отмерять ровно N строк на метод. Идея в том, что ты можешь описать алгоритм в общих чертах, не вдаваясь в частности. Ну допустим, тебе надо синхронизировать данные с каким-то удаленным сервисом и ты можешь писать высокоуровневый код вроде:

получить список данных;
найти измененные данные;
для каждого элемента:
-- синхронизировать элемент;

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

>>2079750

Проблема таких CMS как битрикс в том, что они (по лицензионным соображениям) пишут свой код с нуля, но они не вкладывают в проектирование столько усилий, сколько, например, вложили разработчики Симфони или Доктрины, и получается какая-то написанная в спешке самоделка.
Ответы: >>2080912
Аноним 2021/06/26 08:34:19  №2080796 424
>>2080160
Вопрос на самом деле интересный. Бывает, что для какой-то задачи нет необходимости в доступе ко всем свойствам модели (а она может быть очень жирной да еще и с поведением), в таком случае читать только нужное из базы и создавать дтошку, пропуская этап создания сущностей - это то, что доктор прописал.
Аноним 2021/06/26 12:59:24  №2080912 425
>>2080623
>Идея разбиения кода на части не в том, чтобы сидеть и отмерять ровно N строк на метод. Идея в том, что ты можешь описать алгоритм в общих чертах, не вдаваясь в частности.
Ля ты умныыыый. Проблема в том, что определить допустимый уровень разбиения не так то просто даже опираясь на это утверждение. У некоторых гениев на выходе получается вместо стены текста в 500 строк разбитая на 550 функций по одной строке в 50 классах с 50 интерфейсами каждый из которых применён 1(один) раз стена текста в которой ориентироваться ещё труднее, а некоторые места дублируются просто потому что он ЗАБЫЛ что это уже делал. Всё хорошо в меру. Тысяча слоёв-абстракций не сделает твой код читабельнее сама по себе. Как и тупое сваливание кода в одну кучу. И да, "отмерять N строк на метод"-один из эффективных способов привести код в подобие "разумной слоистости". Особенно если этот код будет писать джун, который не понимает ещё всех прелестей будущей поддержки кодовой базы, и не чует нутром что вот тут вот лучше добавить слой, а вот там-не стоит.
Аноним 2021/06/26 17:20:06  №2081139 426
Подскажите нубу как реализовать отправку числа баллов:
<!Doctype html>
<html lang = "ru">
<head>
<meta charset = "utf-8">
<title>test zaprosa</title>
</head>
<body>
<form action="/" method="get">
<input type='text' name='ball'><br>
</form>
<input type='submit' value='send'>
</body>
</html>
<?php
($grade >= 50 ? 'Сдал' : 'Не сдал')
Ответы: >>2081746
Аноним 2021/06/27 06:08:34  №2081434 427
5bytylok.jpg (16, 480x360)
360x480
Продублирую из айти-треда.
Аноны, может кто-то за работу веб-сервера на пальцах пояснить или дать книжку/видос. Я вкатывальщик в пхп, уже почти 2 недели гуглю инфу и нихуя не понимаю - книжки по пхп тупое говно и видосы от инфоциган, где ничего не объясняется.
В каком формате приходит ответ и запрос от клиента? Апач слушает порт? Пришел запрос а дальше кто «разбирает» - апач или пхп? Сервер висит в оперативе, а пхп периодически поднимается? Как между собой взаимодействуют веб-сервер и пхп – какая-то служба в операционной системе, а в линуксе это демон называется? Пхп возвращает хтмл на сервер, а тот отправляет клиету? И зачем нужен сервер на локалке? Почему другие ЯП спокойно без него работают?
Самое главное - где все это гуглить?
Аноним 2021/06/27 07:02:57  №2081450 428
>>2081434
В шапке в уроках от опа есть, глаза разуй.
Аноним 2021/06/27 07:08:51  №2081455 429
>>2081434
Раньше был мод_пхп, т.е. пхп в виде модуля сервера, работал в его контексте.
Современный вариант это fastcgi. В фоне сидит процесс-менеджер и держит пул запущенных процессов пхп и открытый сокет. Основной сервер сидит мордой в интернет и ту же статику отдает сам, а пхп запросы кидает по сокету и получает ответы. В принципе, примерно так же работет современный веб и в других языках.
Лично тебе вряд ли это вообще надо знать в деталях. Ты себе высираешь ответы, а как они там ходят это вообще не принципиально.
Аноним 2021/06/27 10:48:00  №2081740 430
>>2081434
>книжки по пхп тупое говно
Или не книжки
Аноним 2021/06/27 10:54:25  №2081746 431
>>2081139
Блин, неужели никто не поможет?
Ответы: >>2081781
Аноним 2021/06/27 11:41:04  №2081781 432
>>2081746
Отправку куда? Что ты вообще делать пытаешься? Работа с формами нормально описана у опа в шапке.
Ответы: >>2081918
Аноним 2021/06/27 12:58:00  №2081911 433
Не понимаю как сделать простейшую аутентификацию на Ларавел. Есть юзер, есть форма входа, есть ЛК, где ажаксом приходят-уходят некоторые данные. Всё, что предлагает гугл - длиннющие документации по Passport и тд. Зачем тогда в роутах api.php уже присутствует один маршрут, можно ли как-то это на коленке сделать? Насколько мне известно, современный фреймворк искаропки такое позволять должен.
Ответы: >>2082049
Аноним 2021/06/27 13:00:17  №2081918 434
>>2081781
Веб страничка с формой куда пишу баллы, а дальше результат сдал или не сдал
Ответы: >>2081927
Аноним 2021/06/27 13:07:12  №2081927 435
>>2081918
<form method="post">
<input type='text' name='ball'>
Потом смотришь в $_POST['ball']
Ответы: >>2081931 >>2082063
Аноним 2021/06/27 13:09:54  №2081931 436
Аноним 2021/06/27 13:48:32  №2081992 437
Сап, двач. Что думаете про фреймворк phalcon? Он вообще как жив? Кто-то работал?
Аноним 2021/06/27 14:20:01  №2082049 438
Аноним 2021/06/27 14:30:19  №2082063 439
>>2081927
А как прописывать? Сделал так, не работает

<?php
$_POST['ball'];
($grade >= 50 ? 'Сдал' : 'Не сдал')
Ответы: >>2082232 >>2082859 >>2082862
Аноним 2021/06/27 14:40:09  №2082081 440
Делал вот так, с отдельным файлом action.php но при нажатии кнопки ничего не происходит

<form action="action.php" method="post">
<input type="text" name="ball"><br>
</form>
<input type='submit'>

ACTION.PHP:
($_POST['ball'] >= 50 ? 'Сдал' : 'Не сдал');
echo $_POST['ball'];
Ответы: >>2082232
Аноним 2021/06/27 16:13:10  №2082178 441
Вот так тоже не работает
if (isset($_POST) > 50) {
print(Сдал) else {
print(Не сдал);
}\t
}
Ответы: >>2082232
Аноним 2021/06/27 17:07:53  №2082232 442
>>2082178
>>2082081
>>2082063
скотина, ты все кнопки подряд чтоли тыкаешь?
ты вообще не понимаешь, что происходит на каждой строке?
что это за умственно-отсталые конструкции?
тебе 7-8 лет? если так то извиняюсь
Ответы: >>2082300
Аноним 2021/06/27 18:14:07  №2082300 443
>>2082232
Ну вот эта конструкция постоянно возвращает введенное число, в чем ошибка?

if (($_POST) > 50) {
print($_POST['ball']);
} else {
\tprint 'Не сдал';
}
Ответы: >>2082454 >>2082455
Аноним 2021/06/27 22:06:06  №2082448 444
На фрилансе вообще нужны ООП и шаблоны проектирования или заказчикам похуй что у тебя за код, лишь бы работало как надо? Хочу попробовать апворк, но предпочитаю полотняный лапшекод, не отхуесосят ли меня там за это.
Ответы: >>2082456 >>2082862
Аноним 2021/06/27 22:44:17  №2082454 445
Ответы: >>2082455
Аноним 2021/06/27 22:45:43  №2082455 446
>>2082300
>>2082454
Читай свою программу сверху вниз, каждую строку, и для себя переводи на русский, что она делает, и что хранится в каждой переменной.
Аноним 2021/06/27 22:47:02  №2082456 447
>>2082448
Зависит от заказчика и почасовой ставки.
Очевидно, что к дешёвым одноразовым скриптам требования ниже.

> предпочитаю
ЛОЛ
Аноним 2021/06/28 00:49:24  №2082475 448
Правда ли, что в пхп можно вкатиться заметно быстрее, чем во фронто-макакена?
Ответы: >>2082506 >>2082511 >>2082517
Аноним 2021/06/28 05:23:23  №2082506 449
>>2082475
Только в фулстакомакаку, то есть еще хуже чем фронто макака, которая хотя бы понимает что делает.
Аноним 2021/06/28 05:35:12  №2082511 450
>>2082475
Лучше не быстрее вкатывайся, а нормально.
1. Изучай по минимуму алгоритны и структуры данных. Нужно для собесов в нормальные компании и для более глубокого понимания матчасти.
2. Изучай немного архитектуру компьтера и сетей, чтобы не быть совсем крестьянинов в IT. Изучи линукс и unix команды. Научись пользоваться докером.
3. Изучай хорошо пхп по докам. Как ты будешь писать на языке не зная его?
4. Изучай глубоко БД.
5. Все время пиши код.
Аноним 2021/06/28 05:42:37  №2082516 451
Аноним 2021/06/28 05:43:20  №2082517 452
>>2082475
Легкого пути не существует, нравится фронт - учишь фронт
Ответы: >>2082526
Аноним 2021/06/28 06:12:23  №2082526 453
>>2082517
Как понять, что нравится? Заебало это метание

мимокрокодил
Ответы: >>2082531
Аноним 2021/06/28 06:24:39  №2082531 454
>>2082526
Если не можешь понять, значит нихуя не нравится.
Ответы: >>2082533
Аноним 2021/06/28 06:39:49  №2082533 455
>>2082531
Нет, в том и дело, что нравится и фронт и бэк. Один день фронт дрочу, второй пыху и чувствую, что от этого пиздец моя продуктивность страдает
Аноним 2021/06/28 13:26:15  №2082847 456
>>2081434

> В каком формате приходит ответ и запрос от клиента?

Клиент (это может быть браузер или другая программа) соединяется с веб-сервером и отправляет запрос по протоколу HTTP. Он немного описан тут: https://github.com/codedokode/pasta/blob/master/network/http.md

Если упростить, то браузер посылает на сервер запрос вида "дай мне файл, расположенный по адресу http://example.com/some/page". Далее веб-сервер анализирует запрос (в зависимости от того, как он настроен) и определяет, что надо сделать:

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

Веб-сервер и PHP могут взаимодействовать по-разному.

Если веб-сервер это Апач, то интерпретатор PHP можно встроить в него в виде модуля mod_php. Модуль загружается при запуске Апача в его процесс как динамическая библиотека, расширяющая возможности Апача. То есть, когда понадобится выполнить PHP скрипт, Апач обратится к этому модулю. При этом не запускается никаких новых процессов ОС, выполнение PHP кода происходит внутри процесса Апача.

Минус этого подхода в том, что если, например, Апач грузит процессор, то непонятно: это сам Апач или PHP-код который он выполняет. Также, нельзя запускать PHP и Апач под разными пользователями. Нельзя вынести выполнение PHP кода на другой сервер.

Также, можно запустить PHP с помощью PHP-FPM. В этом случае запускается отдельный демон PHP-FPM, который в свою очередь запускает несколько процессов-рабочих. Демон слушает порт и принимает соединения от веб-сервера по протоколу FastCGI. Веб-сервер при этом может быть любым: Апач, Nginx или любой другой. Используя FastCGI, веб-сервер может попросить PHP-FPM выполнить PHP-скрипт и прислать результат его выполнения.

Когда браузер посылает HTTP-запрос, веб-сервер посылает FastCGI запрос к PHP-FPM. PHP-FPM дает задачу одному из рабочих выполнить PHP-скрипт, тот его выполняет, ответ посылается в веб-сервер, который перенаправляет его в браузер.

Плюсы этой схемы такие:

- можно использовать любой веб-сервер, например nginx
- выполнение PHP-кода никак не нагружает веб-сервер
- можно запускать PHP-FPM из под другого пользователя, а также можно вообще вынести его на другой сервер или группу серверов. Если есть несколько сайтов, то можно для каждого запустить свой демон PHP-FPM под своим пользователем и выставить ему индивидуальные лимиты.
- можно легко увидеть, сколько процессора и памяти потребляет веб-сервер, а сколько PHP

Обычно в такой схеме Апач становится не очень-то и нужен, и используют комбинацию Nginx + PHP-FPM.

Ответы: >>2086970
Аноним 2021/06/28 13:33:02  №2082854 457
>>2081434

> Апач слушает порт?

Да, веб-сервер (например, Апач или nginx) слушает порт 80 или 443, на который приходят запросы от клиенат (браузера).

> Пришел запрос а дальше кто «разбирает» - апач или пхп?

Веб-сервер (Апач или nginx). Запрос приходит по протоколу HTTP.

> Сервер висит в оперативе, а пхп периодически поднимается?

Сервер постоянно запущен, да. Если PHP встроен в Апач как mod_php, то он тоже постоянно запущен вместе с ним. Если PHP запущен как демон PHP-FPM, то он тоже постоянно находится в оперативной памяти.

То есть, и сервер и PHP уже запущены и ждут запроса.

> Пхп возвращает хтмл на сервер, а тот отправляет клиету?

Да.

> И зачем нужен сервер на локалке?

Тебе не нужен Апач для локальной разработки. В PHP встроен встроенный HTTP-сервер для этих целей: https://github.com/codedokode/pasta/blob/master/soft/web-server.md#%D0%B2%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D0%B2-php-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80

> Почему другие ЯП спокойно без него работают?

На других языках ты обычно подключаешь в свою программу библиотеку, которая реализует веб-сервер. На PHP можно сделать точно так же, но это никто не делает, потому что есть встроенный веб-сервер.
Ответы: >>2086970
Аноним 2021/06/28 13:37:44  №2082859 458
>>2082063

Ты пишешь бессмысленные команды, которые ничего не делают.

Например, вот это:

$_POST['ball'];

обозначает: "взять из массива $_POST элемент с ключом ball, и ничего с ним не делать".

Или вот это:

$_POST['ball'] >= 50 ? 'Сдал' : 'Не сдал'

значит "в зависимости от значения в массиве $_POST, взять одну из двух строк. И ничего с ними не делать".

Мне кажется, тебе рановато браться за работу с формами. Тебе сначала надо выучить основы языка: переменные, массивы.
Аноним 2021/06/28 13:39:24  №2082862 459
>>2082063

Попробуй написать так:

var_dump($_POST['ball']);

>>2082448

Без знания ООП ты не сможешь нормально разбираться в ООП-коде и будешь тратить много времени на это, и делать ошибки.

Аноним 2021/06/28 17:58:45  №2083159 460
Сап, двач. А скажи, насколько вообще хорошо-плохо делать php код без вьюх? То есть пхп возвращает json и все. А рендерит реакт в отдельном приложении?
Ответы: >>2083184 >>2083632
Аноним 2021/06/28 18:22:19  №2083184 461
>>2083159
>А скажи, насколько вообще хорошо-плохо делать php код без вьюх? То есть пхп возвращает json и все. А рендерит реакт в отдельном приложении?
В современных spa так делают. Бекенд отдельно, фронтенд отдельно.
Такой подход больше плюсов несет беку - не нужно лезть во фронт, слой представления упрощается с иерархии шаблонов до json/xml/другой формат.

Хорошо-плохо зависит от области применения. Если на фронте нет сложного интерфейса, то такой подход может быть избыточен. Применять реакт к лендингу с одной формой - оверинжиниринг. Быстрее на php шаблон сделать и пару строчек на жс написать.
Аноним 2021/06/29 10:19:48  №2083632 462
>>2083159

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

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

При подходе с использованием реакта браузер сначала грузит страницу-прелоадер, CSS и JS для нее. Затем он грузит огромное тяжелое реакт-приложение. Затем оно запускается и отправляет аякс-запросы для загрузки данных. И только затем рендерится.

Разумеется, такое тяжелое приложение потребляет больше памяти компьютера и создает большую нагрузку на процессор.

Конечно, если ты делаешь какое-то приложение, в которое пользователь заходит и весь день работает, то, наверно такой подход приемлем. Можно немного подождать ради более быстрой работы в дальнейшем. Это подходящая технология для корпоративных приложений.

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

Сколько я не видел SPA-приложений от крупнейших компаний - все тяжелые и тормозные, и с прелоадерами.
Аноним 2021/06/29 10:42:48  №2083654 463
>>2062494 (OP)
Сап, ПХПач

Таинственная проблема с Laravel:
есть веб-сервис на ларавел, последние изменения в его код вносились в начале 2020 года, всё работало, его не трогали

Внезапно оно перестало работать, в логах Nginx указана 500 ошибка

Любой route с любыми параметрами возвращает пустую страницу

Пробовал в контроллерах прописывать строки вроде "echo 'asd'; exit(); ", никакого результата
То же самое делал в Index.php - тоже никакого эффекта

Пытался включить debug mode в env и config/app файлах, нет результата

В общем, веб-сервис выдаёт пустую страницу на любой запрос. Изменений в код не вносили.

Куда копать? У меня нет идей
Ответы: >>2083660 >>2083890
Аноним 2021/06/29 11:01:29  №2083660 464
>>2083654
> в логах Nginx указана 500 ошибка
Как правило там же и написанно чем она вызвана.
Раз изменение в public/index.php(ты же его пробовал) не помогло-ты или не тот сайт редактируешь, либо конфиги вебсервера по пизде пошли. Это первый файл запускающийся же.
Аноним 2021/06/29 14:11:11  №2083890 465
>>2083654
ошибка до автолоадера или после? До бута Kernel или после? Ты дебаг делал вообще или мы тут псайкеры дохуя?
Ответы: >>2084563
Аноним 2021/06/29 14:17:14  №2083903 466
Аноним 2021/06/29 15:30:43  №2083987 467
Аноны, что за синтаксис в конце. Двоеточие и название чего-то.

public static function foo($arg) : Something
Ответы: >>2083996 >>2084583 >>2084796
Аноним 2021/06/29 15:39:09  №2083996 468
Аноним 2021/06/30 08:39:52  №2084563 469
>>2083890
>ошибка до автолоадера или после? До бута Kernel или после?
А как это сделать? я новичок(
Ответы: >>2084578
Аноним 2021/06/30 08:41:50  №2084565 470
Всякие итераторы и функции из SPL вообще используются или это реликт уже?
Ответы: >>2084796
Аноним 2021/06/30 08:53:08  №2084578 471
>>2084563
в public/index.php в первой же строке после <?php ставь пробел, и пиши die('qq'); Если после этого твой сайт начал отдавать qq вместо ошибки-проблема в сайте, если нет-в веб сервере. Но вообще с таким уровнем знаний ты её не решишь.
Ответы: >>2084580
Аноним 2021/06/30 08:55:12  №2084580 472
>>2084578
Спасибо. Пихал dd() куда только мог, нет результата

Посмотрел версию ПХП - 5.4

Долбоёбский хостинг произвольно сменил версию ПХП. Уже год так не делали, я и расслабился...
Ответы: >>2084584
Аноним 2021/06/30 08:58:05  №2084581 473
Не понял
Аноним 2021/06/30 09:00:30  №2084583 474
Аноним 2021/06/30 09:00:39  №2084584 475
>>2084580
>хостинг
>2021 год
Чел. VPS же.
Ответы: >>2084586 >>2085225
Аноним 2021/06/30 09:03:12  №2084586 476
>>2084584
Дык не моё. Я просто помогал. Я вообще не разраб, если честно.
Ответы: >>2084606
Аноним 2021/06/30 09:37:57  №2084606 477
>>2084586
>не моё
>просто помогал
>Я вообще не разраб

Зачем тогда полез, где не шаришь?
Ответы: >>2084950
Аноним 2021/06/30 13:08:54  №2084796 478
>>2084565

Конечно, используются. Например, RecursiveDirectoryIterator позволяет искать файлы в папке и вложенных в нее папках.

>>2083987

Это значит, что функция возвращает объект класса Something или его наследника.

Аноним 2021/06/30 16:28:30  №2084938 479
Можете, пожалуйста, объяснить нахуя вообще нужны интерфейсы и абстрактные классы? Чтобы какой-нибудь другой чел, который будет дорабатывать твой код не сделал того что делать не нужно?
Ответы: >>2084962 >>2084995 >>2085040
Аноним 2021/06/30 16:42:17  №2084950 480
>>2084606
Не стоит вскрывать эту тему
Аноним 2021/06/30 16:53:39  №2084962 481
>>2084938
>интерфейсы
Чтобы код был завязан на контрактах, а не конкретных реализациях.

>абстрактые классы
Чтобы определять какую-то абстрактную логику.

Задумайся для начала зачем вообще нужные классы, если можно процедурки хуярить и всё будет отлично работать
Ответы: >>2085148 >>2088258
Аноним 2021/06/30 17:27:33  №2084995 482
>>2084938
Чтобы организовать большие объемы кода
Аноним 2021/06/30 18:23:02  №2085040 483
>>2084938

Интерфейс нужен, когда есть несколько независимых классов, выполняющих похожую задачу. Например: тебе надо принимать адрес от пользователя и преобразовывать его в координаты. Для этого существуют службы геокодирования (допустим, Яндекс и Гугл). У каждой из них свой формат обмена данными. Но действие выполняется всегда одинаковое: преобразование адреса в координаты. Тебе не хочется, чтобы код был привязан к одной какой-то службе, а хочется, чтобы он мог работать с любой.

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

Еще немного про интерфейсы тут: https://github.com/codedokode/pasta/blob/master/php/interfaces.md

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

Аноним 2021/06/30 19:43:58  №2085148 484
>>2084962
>если можно процедурки хуярить и всё будет отлично работать
Так и делаю, мне норм.
мимо луакодер
Аноним 2021/06/30 20:32:02  №2085187 485
>>2062494 (OP)
> 9 июля 2020 года Дэйл Хирт (англ. Dale Hirt), менеджер проекта PHP в Microsoft, в рассылке php.internals выпустил сообщение[36] о том, что после выпуска версии PHP 8.0 Microsoft прекратит поддержку разработки этого языка программирования для Windows[37]. Специалисты Microsoft занимались компиляцией бинарных версий интерпретатора для ОС Windows и тестированием их безопасности. В сообществе разработчиков PHP сообщили, что примут все необходимые меры, чтобы найти в ближайшее время альтернативный вариант для организации поддержки PHP 8.0 и выше для Windows, например, своими силами[38].

Ну шо, аноны, пыха всё?
Ответы: >>2085326 >>2085330
Аноним 2021/07/01 02:37:45  №2085225 486
>>2084584
администрировать кто будет? твоя мамаша-шлюха?

не слушай долбоёба
Аноним 2021/07/01 05:26:34  №2085243 487
Сап програмач, если бы вы сейчас вкатывались чтобы выбрали? Похапэ или шарпач?
Ответы: >>2085250
Аноним 2021/07/01 06:02:44  №2085250 488
Ответы: >>2085257
Аноним 2021/07/01 06:23:50  №2085257 489
Аноним 2021/07/01 07:15:27  №2085278 490
15220844234430.jpg (31, 720x720)
720x720
Сколько процентов самописных фреймворков в пыхолегаси?
Ответы: >>2085327
Аноним 2021/07/01 08:27:03  №2085326 491
>>2085187
Шо всё? Есть докер, есть всл. Живем дальше
Ответы: >>2085330
Аноним 2021/07/01 08:28:12  №2085327 492
>>2085278
За 4 конторы не встречал таких
Аноним 2021/07/01 08:33:44  №2085330 493
>>2085187
>>2085326
Как будто кто-то запускал пхп не на линупсе кроме шиндовс-вкатунов.
Ответы: >>2085339 >>2085366
Аноним 2021/07/01 08:41:28  №2085339 494
>>2085330
Изредка запускаю пхп из под винды. Хотя в шторме настроен запуск через докер
Аноним 2021/07/01 09:04:47  №2085366 495
>>2085330
Два чаю. Я хоть и шиндузятник, но как только понял как работать с виртуалОЧКОй сразу туда перекатился, а уж теперь то при живом всл и дешевых впсках вообще грех на шинде запускать. Тестовая среда всёж таки должна быть максимально похожа на ту в которой прод будет, а прод на шинде держать-кретинизм.
Ответы: >>2085379 >>2085380
Аноним 2021/07/01 09:11:32  №2085379 496
>>2085366
на каком дистрибутиве работаешь?
Ответы: >>2085384
Аноним 2021/07/01 09:11:34  №2085380 497
>>2085366
Пхп прод держать на винде в некоторых случаях невозможно.
Некоторые экстеншены к пхп на неё тупо не ставятся.
Сколько же я намучился с имейджмеджиком...
Ответы: >>2085384
Аноним 2021/07/01 09:13:49  №2085384 498
>>2085379
Да на убунте. Мне как человеку не хотящему вкатываться в линукс выбирать не охота, а убунта-дефолт.

>>2085380
Ну вот да, например.
Аноним 2021/07/01 20:15:14  №2085715 499
Аноны, что можно сделать в качестве пет-проекта? Интернет-магазин, бложик из банального что в голову приходит. Еще какие-то идеи может есть?
Ответы: >>2085887 >>2087869
Аноним 2021/07/02 07:04:59  №2085887 500
Ответы: >>2086476
Аноним 2021/07/02 19:36:14  №2086476 501
>>2085887
Крад, рега, сторонние айпиай... Спасибо. А можно тыкнуть конкретных пару примеров, а то все равно в голову ничего не приходит, особенно со сторонними айпиай :/ Фантазии нет совсем, не быть дизайнером фронтенда мне.
Аноним 2021/07/03 15:01:19  №2086970 502
Аноним 2021/07/04 01:20:29  №2087260 503
Что надо учить в Symfony (какие курсы) чтобы сделать следующее:
Сделать сайт, который бы предлагал юзеру пройти тесты по разным областям знаний

На первом экране сайта юзер авторизуется (регистрируется) и выбирает тест из нескольких

На втором экране он отвечает на вопросы, заполняет форму (с формами я разобрался - здесь имеется ввиду выпадающий список)

На третьем экране тоже отвечает на вопросы, заполняет форму (но уже форма другого вида ставит галочки)

Надо связать ответы юзера из разных форм и занести в БД

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

Стоит ли браться за такое тестовое задание если ни о Симфони ни о Доктрине раньше не слышал, но готов их усердно изучать?

На ютубе есть начальный курс как запилить приложение на Симфони - простейший блог, но с БД.

Я его освоил (скопировал код и запустил) Сложность для меня как для новичка это реализовать саязывание ответов из второго и третьего шага.

Заранее спасибо за любую подсказку)
Ответы: >>2087263
Аноним 2021/07/04 01:41:13  №2087263 504
>>2087260

для мультишаговой формы есть готовое решение, которое до сих пор работает (я ставил себе тестовую демку)
https://github.com/craue/CraueFormFlowBundle

Но там во первых CRUD, во-вторых я думаю это не совсем правильно собирать по кусрчкам себе приложение

тот же
Аноним 2021/07/04 11:55:51  №2087461 505
{
$this->subsystem1 = $subsystem1 ?: new Subsystem1();
$this->subsystem2 = $subsystem2 ?: new Subsystem2();
}
Что здесь за схлопнувшийся тернарный оператор "?:" Что это значит?
Ответы: >>2087475
Аноним 2021/07/04 12:11:46  №2087475 506
>>2087461
А понятно, посмотрел тот же код на нормальном языке, это оператор ||
Аноним 2021/07/04 12:18:20  №2087486 507
Пацаны, не могу решиться. Что выбрать, чтобы не обосраться в будущем с работой?

Учить шарп и развиваться в этом направлении? (десктоп разработка)
Учить пыху и ларавельку и развиваться уже там?
Аноним 2021/07/04 13:45:27  №2087557 508
Ответы: >>2087559
Аноним 2021/07/04 13:49:39  №2087559 509
>>2087557
да отстань от меня говноед
Аноним 2021/07/04 14:35:34  №2087595 510
>>2087486
Шарп/ява на сегодняшний день не оставят без заработка, в будущем вероятнее тоже. РНР только поддержка легаси. Новых, востребованных рынком, продуктов нет и не предвидятся. Я бы рассматривал РНР в ознакомительных целях исключительно. Связывать свою жизнь с веб-пердолингом для тех, кто не может в нормальные языки и умение программировать.
Ответы: >>2088374
Аноним 2021/07/04 15:58:03  №2087680 511
>>2087486
>Учить шарп и развиваться в этом направлении? (десктоп разработка)
Десктоп мертв
Ответы: >>2087780
Аноним 2021/07/04 17:09:56  №2087719 512
Блин, есть какая-нибудь статья-гайд или видос-гайд на русском языке с построением нормального crud web app, без использования фреймворков и с нормальной организацией по опп и mvc? Заранее благодарю.
Ответы: >>2088379
Аноним 2021/07/04 18:23:44  №2087758 513
>>2070404
>поезд ушел
Надо сказать знакомым 35 и 38 лет, чтобы увольнялись со своих мест и шли обратно на старые работы - поезд-то всё, ту-ту, ушёл, а они и не знают.
Аноним 2021/07/04 18:29:00  №2087765 514
>>2070436
>34 - слишком великовозраст для реального шанса на вкат

Я эту хуйню про ПОЗДНО ВКАТЫВАТЬСЯ кроме двача нигде не видел почему-то. Есть, конечно, ебучие конторы, которым надо вчерашнего студента, который еще не понимает, что такое деньги и зачем они ему, кроме как купить приставку, пивас и пиццу, чтобы недоплачивать ему. Но такого говна и вне айти дохуя. Вопрос, нахуя туда вообще идти работать. Ответ, возможно, кроется в народной мудрости - свинья грязь везде найдет.
Ответы: >>2088562
Аноним 2021/07/04 18:42:54  №2087780 515
>>2087680
Я сейчас работаю саппортом в конторе, где есть грейд до c# разраба. Они мне говорят, что на этой позиции засиживаться не надо. Хотят, чтобы я дальше развивался. Веба в этой конторе нет.
Разрабам-шарпистам платят до 150, но не меньше 100. Мне на саппорте сходу платят 60, через год 80 планируют, если я не перейду в разработку.
Начитался в соседних тредах, что если ты в саппорте, то ты и останешься в саппорте. Почему все так думают?
Я работал уже в веб-студии когда-то, работал в тестировании. Сейчас пошёл в саппорт потому что график 2-2 (одна ночная смена есть и там тикетов дай бог 2-3 за ночь будет). Ну и при таком графике мне будет удобнее что-либо учить. Вот сейчас пиздец не знаю. Либо шарп и в этой конторе дальше за ~150 работать шарпистом, либо пыха и дальше ларавельку ебашить и найти что-нибудь за 80 jun+ уровня.
К слову, на пыхе могу простенькое круд-приложение запилить с MySQL. И Ajax ебануть, но это уже с гуглом.
Может что дельное подскажешь/подскажете?
Ответы: >>2087784 >>2088133
Аноним 2021/07/04 18:48:03  №2087784 516
>>2087780
>Начитался в соседних тредах
Не читай советских газет двач. Тут какой-то иной мир, параллельная вселенная. Кто-то где-то что-то услышал, или кого-то пидорнули, и теперь ОСТАНЕШЬСЯ В САППОРТЕ.

>Они мне говорят, что на этой позиции засиживаться не надо
Тебя практически приглашают разрабом стать, ты понимаешь это?
Ответы: >>2087787
Аноним 2021/07/04 18:51:34  №2087787 517
>>2087784
Да я первую неделю работаю только. Они сразу сказали, что есть куда расти и через год можно смотреть в сторону c# или программист АСУ ТП. Про второе не знаю даже что это такое. Если реально есть такая возможность, то при своём графике 2 дня после 2 смен готов въёбывать.
Просто не очень хочется наебаться с выбором ЯПа.
Ответы: >>2087855 >>2088137
Аноним 2021/07/04 20:34:17  №2087855 518
>>2087787
>наебаться с выбором ЯПа

Ты сейчас в шаге от этого, беги из треда
Аноним 2021/07/04 20:55:06  №2087869 519
Archer 2021/07/04 21:58:29  №2087891 520
Ребят, почему на ideone иногда, когда нажимаешь "run", то страница просто обновляется (или как будто обновляется) и весь код исчезает? "назад" не помогает, кода уже нет, приходится все заново писать, это весьма напрягает, особенно учитывая, что здесь нет автокомплита и надо каждую переменную вручную полностью печатать. У кого так же?
Ответы: >>2088379
Аноним 2021/07/05 06:03:36  №2087960 521
>>2087486
Очевидный golang очевиден.
Ответы: >>2088379
Аноним 2021/07/05 06:44:45  №2087978 522
В чем подводные битрикса кроме того, что рынок ограничен нищими пидорахами?
Ответы: >>2088141 >>2089146
Аноним 2021/07/05 10:42:21  №2088133 523
>>2087780
>Разрабам-шарпистам платят до 150, но не меньше 100
Если там свеженький нет кор, то збс, потом можно будет срулить на х2.

>Начитался в соседних тредах, что если ты в саппорте, то ты и останешься в саппорте. Почему все так думают?
Потому что пока ты сидишь в саппорте ты не развиваешься как разраб - опыт кодинга для прода не капает, петы ты явно не пишешь, а время идет

>Я работал уже в веб-студии когда-то, работал в тестировании
Та же история. Чтобы стать разрабом надо писать код

>Вот сейчас пиздец не знаю. Либо шарп и в этой конторе дальше за ~150 работать шарпистом
Неплохой вариант, но запрыгивать надо поскорее

>ибо пыха и дальше ларавельку ебашить и найти что-нибудь за 80 jun+ уровня.
Если б у меня в своё время был варик идти в шарп бекенд вместо пыхи, я бы пошел не задумываясь.
В пыхе сплошное легаси и даже на относительно свежих проектах (которых практически нет) не веет новизной технологий, а с кода хочется плеваться. Из плюсов пыхи пожалуй слабенький возрастной ценз - можно спокойно заходить в индустрию хоть в 30, хоть в 35 лет. И относительная простота по сравнению с дот нетом
Аноним 2021/07/05 10:44:06  №2088137 524
>>2087787
>Они сразу сказали, что есть куда расти и через год можно смотреть в сторону c# или программист АСУ ТП
Это могли сказать, чтобы ты сидел на саппорте и не рыпался. А потом то время не то, то проекта под тебя не будет, то еще чего.

>Просто не очень хочется наебаться с выбором ЯПа.
Пхп не от хорошей жизни выбирают
Ответы: >>2088259 >>2088639 >>2089982
Аноним 2021/07/05 10:49:49  №2088141 525
>>2087978
- Крайне низкий ценник относительно других стеков
- Система написана армией школьников/студентов, качество кода соответствующее, архитектура отсутствует
- Система очень глючная, тормозная и тяжело поддается дебагу
- Среди других разрабов считается зашкваром ковыряться в битриксе

Подробнее можешь сам почитать:
https://habr.com/ru/post/282333/
Аноним 2021/07/05 14:08:21  №2088258 526
>>2084962
А, может, кто-то уже подумал и где-то просто и доступно написано, зачем нужны классы?
Ответы: >>2088401
Аноним 2021/07/05 14:12:59  №2088259 527
16022671038820.png (156, 640x480)
480x640
>>2088137
>Пхп не от хорошей жизни выбирают
А от чего? Что с ним не так-то?
Archer 2021/07/05 15:39:25  №2088316 528
image.png (8, 424x186)
186x424
image.png (23, 749x347)
347x749
image.png (31, 753x710)
710x753
Не решается задача на кодварсе.
Ответы: >>2088383 >>2088395
Аноним 2021/07/05 16:30:47  №2088374 529
>>2087595

Есть какие-то пруфы, что якобы "PHP не используется в новых проектах"? По моему, это просто ничем не подтвержденное вранье от использующих какие-то другие, не особо востребованные языки программирования.

PHP на сегодняшний день активно используется в вебе. Он лучше JS тем, что у него не течет память, как у приложений на Ноде, в нем есть тайп-хинты и ООП, и можно писать удобный, легко читаемый синхронный код вместо нечитаемой лапши из промисов, await и что они там еще придумали, лишь бы не писать нормально. Он лучше Го тем, что в нем нормальный ООП, и PHP не пытается быть "не таким как все". В PHP удобнее и проще работать с массивами, чем в Го. В PHP не надо явно возвращать ошибки, как в Го.

А уж запускать и разворачивать приложения на PHP куда как проще, чем на JS и Go, и поганый Докер не требуется (Докер это штука, которая запускается из-под рута, создает тонны неужных образов на каждую строчку докерфайла и может менять настройки вашего фаерволла, открывая хост для доступа снаружи. Например, у одной компании Докер после выгрузки на прод открыл доступ к монге, и вандалы дропнули ее содержимое).
Ответы: >>2090968
Аноним 2021/07/05 16:35:43  №2088379 530
>>2087719

Тут есть немножечко по MVC с примером кода, но не знаю, подойдет ли: https://github.com/codedokode/pasta/blob/master/arch/mvc.md

>>2087891

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

>>2087960

Там без знания Си делать нечего.

Ответы: >>2088395 >>2088588
Аноним 2021/07/05 16:41:07  №2088383 531
>>2088316

Наверно, строку надо не вывести, а вернуть с помощью return.
Ответы: >>2088395
Аноним 2021/07/05 16:52:48  №2088395 532
Аноним 2021/07/05 16:55:04  №2088396 533
А хули \n не работает? Двойные кавычки использую, даже примеры копипащу и они тоже не работают. ПХП 7.4
Ответы: >>2088558 >>2088572 >>2089086
Аноним 2021/07/05 17:03:10  №2088401 534
>>2088258
Забудь про "просто и доступно написано", если это касается чего-то сложнее чем "Hllwrld". Ты программист или может быть однажды им станешь - привыкай думать головой, не опираясь на слова Васи с форума.

Если не понимаешь, зачем нужны классы - значит они тебе не нужны. Пиши без них. как же заебись, что можно говнокидить дома и техлид не убьет
Как только поймешь, что что-то не так и вспомнишь про классы - пойди и прочитай доку еще раз. Если в голову ебнет мысль "ля, так оно мне и нужно" - круто. Если нет - жди дальше.
Archer 2021/07/05 17:13:40  №2088406 535
Впервые столкнулся с таким странным тернарным оператором. Это важно знать. Важно знать, что он здесь не такой, как в других популярных языках (Java, JS, C#). Вот статья на хабре https://habr.com/ru/post/114899/

Если коротко: ставьте скобки, чтоб все работало "как надо".
Аноним 2021/07/05 21:16:13  №2088558 536
>>2088396
В консоли(терминале) хоть запускаешь?
Аноним 2021/07/05 21:24:47  №2088562 537
>>2087765
Ты не понимаешь что феминизм победил и сейчас везде тянки - хрюши, тимлиды, начальницы всех мастей и т.д. Как думаешь к кому они будут более благосклонны - гречневику за 30 или молодому шутливому зумерку?
Аноним 2021/07/05 22:21:45  №2088572 538
Аноним 2021/07/05 23:33:07  №2088588 539
Аноним 2021/07/06 03:08:18  №2088600 540
Это правда, что пхп больше не говно?
Ответы: >>2088619
Аноним 2021/07/06 05:30:06  №2088619 541
>>2088600
Да. Умирающее неговно.
Аноним 2021/07/06 06:45:31  №2088639 542
>>2088137
>Пхп не от хорошей жизни выбирают
Мне кажется, потратить полгода на изучение голой пыхи и ларавельки с sql и ты уже спокойно джун в дс за 60к и больше. В шарпе я буду год только учиться, как минимум.
Ответы: >>2089091
Аноним 2021/07/06 15:41:10  №2089086 543
>>2088396

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

Чтобы переносы строки работали, поставь в начало скрипта

header("Content-Type: text/plain; charset=utf-8");

Это выдаст заголовок, который заставит браузер воспринимать текст как обычный текст, не в формате HTML.

Или ты можешь изучить HTML и использовать теги HTML для форматирования.

Аноним 2021/07/06 15:45:01  №2089091 544
>>2088639

Более того, ты выучишь основы C#, придешь на собеседование, а там будет умник с вопросами по Си вроде "расскажите, где хранятся локальные переменные? Почему именно там, а не где-то еще", "расскажите, что такое куча и как она устроена", "расскажите, почему используется JIT и почему не используется AOT компиляция", "расскажите, почему программа компилируется в байткод".

А в PHP таких вопросов не будет.

И, кстати, если у кого-то есть вопросы про кучу, байткод или локальные переменные, в нашем треде на них ответят.
Аноним 2021/07/06 16:34:15  №2089146 545
>>2087978
Зашел в фл.ру. Там много заказов за 1000 р. на Битриксе. На апворк не пускают.
Archer 2021/07/06 17:54:36  №2089195 546
https://ideone.com/wioBRm - опечаточники. Зацените? Нормально? Или есть то, что никогда никто не пишет в 2021? Спс.
Ответы: >>2089198
Аноним 2021/07/06 18:01:12  №2089198 547
>>2089195
изначально думал еще проверять слово английское или нет путем подсчитывания количества английских/русских букв, но это не очень эффективно, потому что в таких, например, словах: всем, оно, мы, меня, тогда и т.д. Здесь программа может решить, что это английское слово, ведь тут могут быть все буквы английскими. Хотя мой вариант: проверка по уникальным буквам типа "d, v, b, h, t" - тоже не 100% вариант, но выглядит, кажется, лучше, потому что слово "всем", написанное чисто английскими буквами определится как русское и, соответственно, все ангельские буквы заменятся на русские, а в первом варианте не заменятся. Можно конечно сделать и ту проверку и эту проверку, то есть всё объединить и получится, наверное, более достоверно. В общем, устал уже думать, как достичь 100% варианта. Надо переходить к некст задачам и темам. Что скажете? Сами как решили? Буду благодарен за фидбек.
Ответы: >>2089200
Аноним 2021/07/06 18:04:37  №2089200 548
>>2089198
>ведь тут могут быть все буквы английскими
с и c-разные символы так то, хоть и выглядят идентично, и даже одной кнопкой печатаются...
Ответы: >>2089310
Аноним 2021/07/06 20:32:08  №2089310 549
>>2089200
так в задаче как раз такой вид ошибок и есть, что в тексте встречаются русские слова с английскими буквами, которые выглядят идентично, и английские слова с русскими буквами, а суть задачи в том, чтобы исправить это, сделать так, чтобы русские слова были написаны только русскими буквами, а английские только английскими
Archer 2021/07/06 21:19:31  №2089335 550
вот первые опечаточники, где просто указывается ошибка - https://ideone.com/PwJuEG

Я молодец.
Аноним 2021/07/06 23:33:09  №2089377 551
Язык умер, все выходим из треда
Ответы: >>2089383
Аноним 2021/07/07 00:16:59  №2089383 552
>>2089377
ещё один хоронильщик
Аноним 2021/07/07 01:50:36  №2089391 553
Распишите, плиз, нубасы в чем отличия и какие сферы применения у Ларавеля и Симфони? На какой лучше потратить время для изучения?
Ответы: >>2089555
Аноним 2021/07/07 09:21:06  №2089555 554
>>2089391
>в чем отличия
В подходе архитектурном.
>и какие сферы применения
Весь спектр веб приложений у обоих.
>На какой лучше потратить время для изучения
На тот который на рынке лучше себя будет чувствовать через 5 лет.
Ответы: >>2089568
Аноним 2021/07/07 09:48:57  №2089568 555
>>2089555
>На тот который на рынке лучше себя будет чувствовать через 5 лет.
Это который?
Ответы: >>2089583 >>2089614
Аноним 2021/07/07 10:01:17  №2089583 556
>>2089568
Скорее всего оба, если судить по тому, что на yii до сих пор полно работы, хотя он уже лет 6 как не развивается. А на лару и симфу регулярно выкатывают обновления
Ответы: >>2089973
Аноним 2021/07/07 10:37:40  №2089614 557
>>2089568
>Это который?
А этого тебе точно никто не скажет. Если всё пойдёт хорошо-оба как выше отписали. Но может внезапно появиться конкурент который обоих выпиздит, или заставит меняться так сильно что старые знания станут малополезными. ИМХО оба примерно одинаково перспективны. Но вроде как у ларки побольше работодателей прямо здесь и сейчас (по крайней мере я за последний год на неё больше получил предложений, чем на симфони).
Ответы: >>2089776
Аноним 2021/07/07 13:42:50  №2089765 558
Подскажите кратко, возникла потребность сделать элементарную фидбэк форму, язык вообще не знаю, нагуглил код ниже, он работает, но в текст сообщения нужно вставить $name, $mail, $text которые из html формы передаются
Вот это хоть убейте - нагуглить не могу, пытался вставлять как получается, либо отправляется как есть "$name", либо вообще пустое тело письма

<?php
$to = 'example@mail.com';
$subject = Subject';
$message = 'Hello, it's a message.';
$headers = 'From: noreply@mail.com' . "\r\n" .
'Reply-To: noreply@mail.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

?>


Заранее спасибо
Ответы: >>2089767
Аноним 2021/07/07 13:48:51  №2089767 559
Ответы: >>2089935
Аноним 2021/07/07 14:01:09  №2089776 560
>>2089614
>может внезапно появиться конкурент который обоих выпиздит, или заставит меняться так сильно что старые знания станут малополезными

Не, технологии веба достигли своего предела. Ничто уже не появится, никто никого никуда уже не выпиздует.
Ответы: >>2090209
Archer 2021/07/07 16:16:55  №2089933 561
Господа, в какой момент понадобится математика выше школьного уровня? Всякие графы, дискретки и т.д. Понимаю, что на джуна такие вещи спрашивать в 95% случаев не будут, но что насчет мидла пхпшника, сеньора? Стоит ли заняться ей прям сейчас или это пустая трата времени?

Заниматься матешей в соло я пробовал, начал с нуля, хотя знания в принципе были вплоть до 11 класса, но хотелось, чтоб было без пробелов, поэтому начал с книги для 5-6 классов. Прочитал ее, дальше не смог заставить себя читать. Это нереально скучно.
Ответы: >>2089956 >>2090212
Аноним 2021/07/07 16:19:45  №2089935 562
>>2089767
Спасибо, уже сам разобрался
Аноним 2021/07/07 16:44:13  №2089956 563
>>2089933
Максимум пригодится, если на собесе попадется алгошизик. А так графы на проде не встречал
Аноним 2021/07/07 17:04:02  №2089973 564
>>2089583
>на yii до сих пор полно работы
Уже легаси считай.
Ответы: >>2090416
Аноним 2021/07/07 17:04:04  №2089974 565
Untitled.png (34, 1434x737)
737x1434
Напарсил и посчитал теги с пхп-вакансий на хх.
Ответы: >>2089985
Аноним 2021/07/07 17:12:27  №2089982 566
>>2088137
>Пхп не от хорошей жизни выбирают
А какой от хорошей жизни выбирают? Лисп ебучий борщехлебный?
Ответы: >>2090417
Аноним 2021/07/07 17:15:39  №2089985 567
>>2089974
По моим наблюдениям фреймворки просят вообще чтобы, типа, тыжпогроммист был хороший. Периодически встречаю вордпресс-вакансии с требованиями знания фреймворка, причём почти всегда перечисляют их через строку. Скорее всего у тебя нерелевантно - нужно считать количество проектов, а не хотелки кабанчиков.
Аноним 2021/07/07 18:09:07  №2090017 568
Untitled.png (38, 1413x735)
735x1413
Да, про вордпресс забыл.
Archer 2021/07/07 21:23:16  №2090127 569
оп забыл сказать в задаче "Клавиша shift", что встроенной реализации mb_ucfirst в php нет, так что пришлось делать самому - https://ideone.com/J2a4ac

кто будет пользоваться - платите по 100$ лично мне, спс
Аноним 2021/07/07 22:28:23  №2090161 570
Можно ли в php отдать ответ пользователю, но продолжить работать еще некоторое время?

Стандартный сценарий такой:
1) Пользователь делает заказ.
2) Скрипт работает, сохраняет заказ в базе данных, пишет емейлы пользователю а так же десятку сотрудников. Всё это время пользователь ждет.
3) Когда вся работа завершена, пользователь получает подтверждение заказа.

Цель:
1) Пользователь делает заказ.
2) Мгновенно получает подтверждение заказа.
3) Скрипт продолжает работать, сохраняет заказ в базе данных, пишет емейлы пользователю а так же десятку сотрудников.

Можно конечно же сделать что-то подобное при помощи кронджобов, но мне не нравятся кронджобы.
Есть еще другой вариант с отправкой джаваскрипта всместе с подтверждением. И этот джаваскипт сделает аякс запрос другому скрипту, который доделает работу с отправкой емейлов. Впрочем такой вариант тоже имеет массу недостатков.
Как же быть?






Ответы: >>2090214 >>2090350 >>2090364
Аноним 2021/07/08 05:11:48  №2090209 571
>>2089776
>технологии веба достигли своего предела
А ты смешной.)
Ответы: >>2090235
Аноним 2021/07/08 05:16:54  №2090212 572
>>2089933
>Господа, в какой момент понадобится математика выше школьного уровня? Всякие графы, дискретки и т.д.
В тот моменнт, когда ты решишь начать заниматься чем то что требует графов, дискреток, итд.
Это не про типичный веб. У меня за 9 лет практики было ноль ситуаций когда его бы не хватало (вкатился со школы).
Я вижу 2 варианта:
1)Ты попадёшь на проект в котором предметная область требует знаний (и то я хуй знает в какой предметной области всё это может понадобиться в рамках веб-приложения).
2)Ты попадёшь в другую ветку программирования(разработка движка для игры там, или что нибудь алгоритмически дохуя сложное).

Если же ты планируешь сайтики клепать-нахуй не нужно.
Аноним 2021/07/08 05:20:31  №2090214 573
>>2090161
Можно клонировать процесс. В ларавеле есть стандартные средства для очереди задач. Можно самому на каком нибудь реддисе, или мемкешде организовать очередь, из которой задачи забирать демон-процессом отдельным.
Аноним 2021/07/08 06:32:45  №2090235 574
>>2090209
По факту возразить сможешь? Программирование это не естественная, а абстрактная наука. Все важное что могло быть изобретено для веба, уже было изобретено. Дабы времени было предостаточно. Разве что маленькие косметические улучшения будут.

Не надейся на какое чудо, которое вот-вот придумает, и которое все поменяет.
Ответы: >>2090245
Аноним 2021/07/08 06:52:21  №2090245 575
>>2090235
>Все важное что могло быть изобретено для веба, уже было изобретено
Чел, от того что ты и я не видим развитие наперёд оно не останавливается. Технологии развиваются, и развиваются постоянно. Вебу всего 30 лет, какое нахуй "предостаточно времени"?
Ебучие ДВС которым 100 лет в обед всё ещё развиваются, хотя "всё что было можно изобрести было изобретено" ещё в 70/80/90/00х годах в зависимости от твоей любимой эпохи машиностроения.
Ответы: >>2090345
Аноним 2021/07/08 08:41:25  №2090345 576
>>2090245
Хуевое сравнение. ДВСы это объекты реального мира, чтобы их как-то исследовать и улучшать нужны большие и ресурсы и время на эксперименты.

Код - это блять просто написанные символы. Единственный ресурс, необходимы для его улучшений - это мозговитые ребятки. И 30 лет этим ребяткам было достаточно для того чтобы выжать около-максимум.

Не жди каких-нибудь значимых улучшений.
Ответы: >>2090348
Аноним 2021/07/08 08:51:45  №2090348 577
>>2090345
>И 30 лет этим ребяткам было достаточно для того чтобы выжать около-максимум.
С одной стороны 95+процентов современных концепций программирования были изобретены ещё в 80х и ранее. С другой-мы периодически переживаем то очередную контейнерную революцию, то массовое внедрение нейронок благодаря прогрессу в железе, то серьёзное смещение в балансе парадигм программирования (элементы функциональщины всё больше и больше проникают в прикладное ПО).
Плюс может поменяться модель потребления смартфоны изменили этот наш веб крайне сильно, например.
Да банально:нейронки могут улучшить автокомплишен до состояния "ввёл название функции, тело сгенерилось само", что позволит ещё выше в абстракциях подняться, быстрее и эффективнее генерить объёмы кода, и благодаря этому могут новые подходы возникнуть. Совершенно не принципиально материальный у нас продукт или нет, эволюция инжинернойили говнокодерской мысли происходит постоянно.
Я не говорю что будет обязательно что то революционное, но я говорю что появление новых инструментов, или эволюция текущих может координально поменять твою работу, и отрицать это-глупо и недальновидно.
Ответы: >>2090398
Аноним 2021/07/08 08:54:40  №2090350 578
>>2090161
>сохраняет заказ в базе данных, пишет емейлы пользователю а так же десятку сотрудников. Всё это время
>Всё это время
это должно занимать примерно 0 секунд
Аноним 2021/07/08 09:09:28  №2090364 579
>>2090161
>Можно ли в php отдать ответ пользователю, но продолжить работать еще некоторое время?
Можно, session_write_close() и fastcgi_finish_request(). Но в твоем случае лучше очередь.
Ответы: >>2090415
Аноним 2021/07/08 09:30:58  №2090398 580
>>2090348
>нейронки могут улучшить автокомплишен до состояния "ввёл название функции, тело сгенерилось само"
Скорей бы
Аноним 2021/07/08 10:00:23  №2090415 581
>>2090364
>fastcgi_finish_request
Судя по описанию это именно то что я ищу.
Правда у меня появляется фатальная ошибка
Call to undefined function fastcgi_finish_request()

Видимо причина этого кроется в том, что FastCGI у меня не используется.

Неужели разработчикам PHP было так сложно написать функцию
finish_request, которая работала бы всегда, не зависимо от того, используется ли FastCGI или не используется?!
Ответы: >>2090440
Аноним 2021/07/08 10:08:14  №2090416 582
>>2089973
Легаси тоже нужно кому-то поддерживать
Аноним 2021/07/08 10:08:41  №2090417 583
>>2089982
Я бы шарпы взял, а там в нет кор
Аноним 2021/07/08 10:35:10  №2090440 584
>>2090415
В общем удалось решить проблему следующим образом:
Первый скрипт, тот который подтверждает заказ, отправляет
запрос второму скрипту при помощи curl с таймаутом в одну секунду.
Второй скрипт имеет директиву ignore_user_abort(true); и выполняет всю долгую и сложную работу.
В итоге пользователь, который запустил первый скрипт, ждет всего-лишь секунду таймаута и несколько мгновений подключения через curl.
Я конечно понимаю, что это решение - костыль. Но оно работает и это главное.
Ответы: >>2091016
Аноним 2021/07/08 15:07:00  №2090691 585
В ларке часто используется блэйд? Или ларку обычно используют как апи для фронтенда.
Ответы: >>2090730
Аноним 2021/07/08 15:30:40  №2090730 586
>>2090691
Как повезет.
Обычно либо блейд, если там какой-то древний проект или денег на фронтов не хватило. Либо вуе, что тоже такое себе, при чем фронт тоже беки пишут
Ответы: >>2090904
Аноним 2021/07/08 19:49:46  №2090904 587
>>2090730
>фронт тоже беки пишут
Представляю какая там хуйня понаписана.
Проще взять бутстрап для UI и не ебать мозг.
Аноним 2021/07/08 23:42:36  №2090968 588
>>2088374
Ебать, ты к нам из 2010 года?

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

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

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

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

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

>В PHP удобнее и проще работать с массивами, чем в Го
В пхп нет массивов, только хеш мапы

>В PHP не надо явно возвращать ошибки, как в Го
Праильно, а нахуя явно возвращать? Мы же НОВЫЙ проект пишем, пущай с этими ошибками ебуться когда он станет легаси (через месяц)

>А уж запускать и разворачивать приложения на PHP куда как проще, чем на JS и Go, и поганый Докер не требуется (Докер это штука
Нам он и нахуй не нужон, докер ВАШ! У Пятровны вишь эта хуйня магическая САМА доступы открыла. В фаерволе шебуршит безбожник. Сладу с ним нет. Не по нашенски енто. Тут закал столетний, виртуалбоксовский. Тут вагрантом фонит по низам. Тут мужик свою виртуалку, свою bsd стережет накрепко.
Ответы: >>2090980
Аноним 2021/07/09 02:00:18  №2090980 589
>>2090968
Разъебите его кто-нибудь по фактам. Мне не нравится что он пишет.

мимо ньюфаг-вкатун
Ответы: >>2090991 >>2091058
Аноним 2021/07/09 03:43:53  №2090991 590
>>2090980
> мимо ньюфаг-вкатун
> в пхп
Посмеялся с тебя
Аноним 2021/07/09 05:53:43  №2091016 591
>>2090440
>В итоге пользователь, который запустил первый скрипт, ждет всего-лишь секунду таймаута
Ты сука гонишь что ли, всего лишь секунду...
У меня самые тяжелые скрипты секунды полторы отрабатывают, и каждый раз я проверяю точно ли не нужно воркер заюзать в этом месте.
Аноним 2021/07/09 07:09:11  №2091056 592
Магазины на ларке с нуля пишут? Или используют пакеты типа aimeos?
Ответы: >>2091096
Аноним 2021/07/09 07:09:42  №2091058 593
>>2090980
PHP решает свои задачи и решает их отлично - рыночек порешал, а что там пердит очередной борщехлеб всем насрать. Нечего там разъёбывать. Да и не написал он ничего конкретного - манька себя "погроммистом считает", а остальных - говном.
Аноним 2021/07/09 08:05:11  №2091096 594
Ответы: >>2091496
Аноним 2021/07/09 14:51:04  №2091496 595
Ответы: >>2091501
Аноним 2021/07/09 14:58:15  №2091501 596
>>2091496
А все, забыл прописать ПОСТ к переменным
Аноним 2021/07/09 18:21:55  №2091662 597
Ребята подскажите ситуацию, вот работал я макакой пхпшной, все программы писал в процедурно-функциональном стиле. Стоит ли сейчас искать что-то другое и возьмут ли меня на нормальную галеру, за нормальную40-50к хотяб зп? Или требования у таких галер обязательные знания и умения применять ООП? сейчас я на гос. предприятии работаю с легаси, чувствую что что-то не так
Ответы: >>2091744
Аноним 2021/07/09 20:08:54  №2091744 598
>>2091662
ООП обязательное требования для современной промышленной разработки.
Аноним 2021/07/10 03:11:52  №2091847 599
Такой вопрос, ребзя. На каком уровне желательно знать js для пыходжуна?
Ответы: >>2093501
Аноним 2021/07/10 05:40:39  №2091874 600
Ответы: >>2091944
Аноним 2021/07/10 07:11:46  №2091944 601
>>2067067
>>2091874
Ребят, вы переусложняете.
If(strrev(mb_strtolower($string)) === mb_strtolower($string)) {
echo('это палиндром);
} else {
echo('это не палиндром);
}
Ответы: >>2093155
Аноним 2021/07/10 17:05:40  №2092478 602
Всем здарова, я хочу стать верстальщиком. Учил html, scss, прочитал 1 часть Кантора по js, сверстал пару лендингов, читал на metanit про typescript, потом посмотрел видео по основам react и next.js, чтобы понимать как верстать реакт-компоненты и как принято делать страницы и компоненты в next.js Насколько я понимаю теперь мне надо учиться верстать под vue и angular.

МОЙ ВОПРОС ПО РНР. Насколько в 2к21 году популярна верстка на РНР-шаблонизаторах типа twig? Мне как вонаби верстальщику надо учить twig и учиться верстать на РНР-шаблонизаторах?
Ответы: >>2092560
Аноним 2021/07/10 18:55:22  №2092560 603
>>2092478
Сколько времени у тебя заняло обучение?
Ответы: >>2092690
Аноним 2021/07/10 19:27:37  №2092582 604
Привет аноны, я не местный, не ваш, не пхпшник в клетчатой рубашке. Почему-то подумалось, что в этой ветке должны сидеть адекватные дяди, понимающие веб !

Короче, проблема проста, на на простейший get реквест получаю 401 unauthorized.

На сайте логин не требуется, прозреваю что ему нужны Куки.
На моём языке в сетевых либах есть возможность заСэттить кукисы, крайне много дрочился с этим, но после сеттинга валится ошибка что-то в стиле "already connected" соотв header засеттить не могу. Да и продебажить толком не получается.

Дальше пока сумбурные мысли о том, что нужно послать какой-то хитровыебанный header в реквесте. Хуй его знает. Что думаете? Где я жидко обосрался?
Ответы: >>2092639
Аноним 2021/07/10 21:04:24  №2092639 605
>>2092582
Смотри в браузере, в инструментах разработчика что там отдаётся и принимается. Нам отсюда не видно куда ты пытаешься попасть и как, да и влом, если честно.
Ответы: >>2093103
Аноним 2021/07/11 02:19:54  №2092690 606
>>2092560
Времени у меня заняло неможечко ДОХУИЩА!

Потому что я учился в компьютерной шараге, не знал кем и куда я хочу пристроиться.

Я вообще не думал о будущем. Я думал о том как сдать предметы в шараге и не угодить защищать сапоги. Преподы всех вечно пугали отчислением, только я омежка сыч на это вёлся. Когда остальные Ерохи хуй ложили и были правы! Потому что моя шарага МухГУ в итоге выпустила с дипломами всех, кто тупо ходил на пары и не терялся подолгу!

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

Так вот, во время шараги я как лох занимался деланием домашки по мутным предметам, которые реально ничего не дают!

Так что постепенно вкатываться в вёрстку я начал аж 5 лет назад, когда поступил в шарагу! Я тогда начал дрочить штмл, цсс и пытаться верстать лендосы. Но я всё время бросал, потому что учеба в шараге требовала делать вообще другое. В шараге решали математику, физику, было море гуманитарных предметов не относящихся к специальности, учились паять, изучали устройство ПК правда устаревшее, мы, например, дискеты изучали.

Я закончил шарагу год назад. Меня пытались уволочь в армию. И пришлось в дурку ложиться. 10 дней в дурке провисел.

Извините, за изливание душе. Я искренне извиняюсь за своё существование. Я просто очень долго уже 5 лет не могу вкатиться в вёрстку. Извините.
Ответы: >>2092732 >>2092740 >>2092748
Аноним 2021/07/11 06:49:24  №2092732 607

>>2092690

анон, что за настрой... ты хоть попробывал вкатиться?
Ответы: >>2092820 >>2093243
Аноним 2021/07/11 06:54:08  №2092740 608
>>2092690
Поддерживаю молодого человека выше. Анон, что за настрой?

Соберись, возьми себя в руки и иди покорять что угодно.
Все у тебя получится.
Ответы: >>2092820 >>2093243
Аноним 2021/07/11 07:00:50  №2092748 609
>>2092690
Анон возьми себя в руки, че ты в самом деле. У многих в жизни ситуации бывает хуже. Я например, чуть ли не бомж. И это никак не оправдывает, моё бездействие. Нужно дальше действовать. И в армейке отслужил итд. Решай проблему постепенно, разделив на более мелкие задачи. Так проще будет, и удачи.
Ответы: >>2092820 >>2093243
Аноним 2021/07/11 08:46:14  №2092820 610
unnamed.png (21, 1196x752)
752x1196
>>2092748
>>2092732
>>2092740
Почему весь pr утопает в токсичном говне, все выебываются друг на друга, дизморалят, и только в одном пхп-треде такая атмосфера поддержки? Это какая-то магия?
Ответы: >>2093234
Аноним 2021/07/11 11:17:25  №2092973 611
Подскажите, почему может не работать height: 100%?
У html задан затемненный фон, body - основное рабочее поле, и оно сейчас половину снизу подрезано затемненным фоном. Как body до конца продлить вниз без абсолютных величин?
Ответы: >>2093045 >>2093156
Аноним 2021/07/11 12:29:21  №2093045 612
Аноним 2021/07/11 13:21:50  №2093103 613
>>2092639
Ладно спс.
Но ход мыслей правильный, что 401 может быть связан с куками?
Ответы: >>2093190
Аноним 2021/07/11 14:33:38  №2093155 614
>>2091944

Это неправильное решение. strrev работает только с устаревшими 1-байтными кодировками и не переворачивает строки, закодированные в utf-8. Попробуй сам проверить свою программу на строке с русскими буквами в utf-8.
Аноним 2021/07/11 14:36:44  №2093156 615
>>2092973

height: 100% сработает только если у родителя height жестко задан - в %, пикселях или другой величине. Причем, если у родителя height в %, то соответственно у его родителя тоже должен быть задан height.

У тебя скорее всего не задан height у html. И еще, скорее всего, на body тебе нужен не height, а min-height.
Аноним 2021/07/11 15:06:41  №2093190 616
>>2093103
Это может быть связано с чем угодно, если у тебя например в инкогнито заходит на страницу, то возможно что сервер смотрит на юзер агент, а твой хттп клиент отправляет или своё имя, или вообще ничего. Но вообще скорее всего или какие-то куки ставятся, или еще какой-то хитровыебанный хедер. Тебе правильно посоветовали, открой девтулз и посмотри какие там ответы приходят
Ответы: >>2096111
Аноним 2021/07/11 15:43:45  №2093234 617
>>2092820
> пхп-тред
Спасительный оазис в раскаленном песчаном аду.
Аноним 2021/07/11 15:51:37  №2093243 618
>>2092732
>анон, что за настрой... ты хоть попробывал вкатиться?
Извините, просто я чет бомбанул, теперь неловко за свою пасту. Нет, я не пробовал вкатываться в работу, чувствую, что не готов, надо готовиться, учиться. Спасибо большое за совет, буду настраиваться быть ровнее и чётче.

>>2092740
Благодарю, буду стараться

>>2092748
Блин, ты крут, что в армейке отслужил, красавчик. А я зассал, что меня там Ерохи напихвают и через дурку закосил, 10 дней там зависал, потом тесты проходил. Врач спрашивает вопросы, я отвечаю, она в компьютере заполняет. И когда вопросы закончились, я хотел заглянуть в монитор, какой там результат. И врач отвернула монитор, чтоб я не видел, что там. Так и не узнал что мне написали, чем я болен. Хотя мне пофиг, главное, что перестали меня после этого вызывать защищать сапоги. Ещё был мужик прикольный пациент, он когда узнал, что я от военкомата, то он стал пританцовывать и говорить стишки типа "мама - поликлиника, отец - военкомат".

Прошу прощения, что-то меня понесло. Большое спасибо за совет, я буду стараться.
Аноним 2021/07/11 19:19:55  №2093370 619
Посоны, насколько джуну на первый вкат надо заморачиваться с архитектурой и клин кодом для пет-проектов-крудилок?
Получается, что у меня есть немного знаний, к ним добавляется шизоидное желание писать клин код, а в результате получается обфускейтед поебота типа FizzBuzzEnterpriseEdition, только все-таки не особо расширяемая.
Например флоу такое: в контроллер инжектится http-реквест. Контроллер преобразует http-реквест в дто (в laravel есть FormRequest, а в symfony я его сымитировал через ParameterResolver). Сервисы получают дто-запрос, отдают дто-ответ. Контроллер перобразует дто-ответ в http-респонс. Сервисы - это домен-сервисы, которые инжектятся через интерфейсы.
Воот, в моей реализации получаются следующие проблемы:
1. Жирные интерфейсы (как бы с нарушением interface segregation). В них просто круды прописаны, но вот захочу я завтра создавать-сохранять модели по-другому: мне весь круд переписывать надо будет (ну можно старый декорировать конечно, но все-равно мне кажется, что это не правильно). При этом не хочется впадать в другую крайность: дохуя интерфейсов (один - для сохранения, другой - для удаления и т.п.) - кажется, что это плохая идея. Че делать?
2. Также не понимаю как сделать легкозаменямые дто. У меня получается привязка к очень конкретным типам (вплоть до new в контроллерах). Кажется тут может помочь фабрика, но в них я еще, не шарю. Не понимаю как через них дто делать (и надо ли?), потому что в случае фабричного метода нужна логика на уровне фабрики, а в случае абстрактной фабрики дто будет на уровне интерфейса, что по-моему, не имеет смысла, так как дто нужно будет что-то делегировать, а нахуя ему что-то делегировать?
3. Когда я вернулся через две недели к своему коду, я тупил как я там собираю ошибки и откуда берется этот дто. Это говорит либо о моей тупости, либо о том что код реально запутанный, либо, что последнее - это следствие первого.
Примерно так я и мучаюсь. Может на реальных проектах научат как делать надо? Или наоборот - надо сперва уметь, чтобы туда попасть?
Ответы: >>2093463 >>2093471 >>2094370
Аноним 2021/07/11 20:29:45  №2093463 620
>>2093370
Ты хотя бы один реальный рабочий пет-проект сделал? Все эти траханья с архитектурой имеют смысл, когда ты шишек набил, а без опыта это всё называется интеллектуальная мастурбация. Завязывай - с этим долго и бесполезно играться можно. Поверь моему опыту.
Аноним 2021/07/11 20:38:36  №2093471 621
15653376807570.jpg (196, 1080x1080)
1080x1080
>>2093370
Ну и да - не гонись за идеальным кодом. Хороший программист знает где почище надо сделать, а где говна поднакинуть, но побыстрее чтоб. Это у тебя ещё детские какашки после стерильных туториалов не вышли - как увидишь реальный проект, так сразу отпустит.
Аноним 2021/07/11 22:06:50  №2093491 622
Сап, такой вопрос, а зачем браузер пытается рендерить неправильну