Вы видите копию треда, сохраненную 27 ноября в 11:09.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий тред был тут: >>3283119 (OP)
Старые треды тут https://2ch.hk/pr/arch/ (М) (искать по слову php), а также на архиваче и в гугле по словам по словам "клуб изучающих PHP".
С чего начать - основы PHP
Наши уроки по PHP собраны по адресу http://codedokode.github.io/phpbook . Это учебник для изучающих с нуля. Там есть задачи, их нужно решать. Но если этот учебник тебе не нравится, можно читать любой другой. Или официальный справочник ( https://www.php.net/manual/ru/langref.php ). Или все сразу.
Если что-то непонятно, запости код и попроси подсказку или поищи задачу в архиве тредов.
Какой редактор использовать
Простые задачки можно решать в онлайн-песочницах вроде https://onlinephp.io/ , https://paiza.io/en/projects/new?language=php , https://www.programiz.com/php/online-compiler/ , но для программ посложнее лучше установить редактор. Есть (дорогая) IDE PhpStorm, есть бесплатный Netbeans и VSCode, условно-бесплатный Sublime Text. Чтобы в последних получить автодополнение для PHP, нужно установить и настроить PHP language server.
Вот инструкции по установке PHP на компьютер: https://github.com/codedokode/pasta/blob/master/soft/php-install.md
Гайд по командной строке: https://github.com/codedokode/pasta/blob/master/soft/cli.md
Что изучать дальше
Зная лишь основы PHP, сайт ты не сделаешь и работу не найдешь. Обычно от начинающего требуют чуть-чуть больше:
PHP, ООП, основы HTTP, HTML/CSS (основы верстки), JS, SQL, PDO, MVC, git, composer, какой-нибудь фреймворк (Laravel или Symfony), основы автоматического тестирования, основы linux, английский.
Вот неофициальный роадмап (карта того, что можно изучать): https://miro.com/app/board/o9J_lbUUBBQ=/
По многим из этих тем у нас есть уроки или задачки:
- для понимания, что такое веб-сервер, прочти урок https://github.com/codedokode/pasta/blob/master/soft/web-server.md
- для понимая MVC, работы с БД и формами, реши задачу про студентов, в ней много полезных советов: 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
- почитать про паттерны можно тут https://designpatternsphp.readthedocs.io/ru/latest/ (если ты не изучил ни одного фреймворка, то это будет рановато). Если хочешь увидеть примеры использования паттернов в реальном коде - ковыряй исходники Симфони, например Symfony Forms. Ну и скажем честно, начинающему без опыта, который не видел сложный код, паттерны понять будет сложно.
- для улучшения английского можно читать news.ycombinator.com - там много статей на тему IT.
Также, у нас есть задачи которые позволят тебе изучить или подтянуть до нормального уровня знания JS/HTML/CSS/SQL. Решай их параллельно с задачами выше.
- задачи на HTML/CSS: https://github.com/codedokode/pasta/blob/master/html/html.md
- хороший учебник по JS: https://learn.javascript.ru/
- задачи на 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/
- задачки на SQL: https://www.sql-ex.ru/ (нужна регистрация), https://sql-academy.org/ru/trainer и немного наших задачек: https://github.com/codedokode/pasta/blob/master/db/databases.md
Что еще почитать
- Мануал по PHP — http://www.php.net/manual/ru/langref.php
- https://phptherightway.com/
- Книга: Профессиональное программирование на PHP Джордж Шлосснейгл
- Книга: Мэтт Зандстра — PHP: Объекты, шаблоны, методики программирования
- Про Git: https://git-scm.com/book/ru/v2
- Задачи на алгоритмы: https://codeforces.com/problemset
Дополнительно
- скачать учебник: зайди на https://github.com/codedokode/phpbook, нажми зеленую кнопку Code -> Download ZIP, распакуй на рабочий стол и открой index.html
- что будут спрашивать на собеседовании, если 0 опыта - будут гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись
- сколько времени надо изучать все это? - все зависит от тебя, в районе 10-15 месяцев
>почитать про паттерны можно тут
Мне надо про паттерны работу написать, с фреймворками еще не работал, но знаю ООП неплохо. Получится?
Может получится, а может и не получится. Дерзай!
Пхп ето кал, если есть возможность залететь на другие стеки, то дерзай, а пхп только в последнюю очередь рассматривай
>яндексы вообще не учат на пыхеров
Так это как раз хорошо! Значит, меньше вкатунов с говнокурсов, меньше алгоритмического дроча, требований вышки, зарплат по 40к на старте и вот этого всего. К слову, говнокурсы яши (а с ними и скуфбоксов etc) нигде не котируются - яндекс сам своим хрюшам спускает инструкции отсеивать выпукников собственных курсов, потому что прекрасно понимает что торгует калом и прост прогревает лохов на бабки.
Это ты еще битрикс не видел!
Там вообще по 0 откликов на каждую вакансию, самое то для вкатуна 👍
>яндекс сам своим хрюшам спускает инструкции отсеивать выпукников собственных курсов, потому что прекрасно понимает что торгует калом и прост прогревает лохов на бабки.
Неужели нет человека внутри яндекс который сольет эти инструкции в сеть и разошлет вкатунцам отдавшим 150к за обучение🤣🤣🤣😂😂
>Подскажите, этот ваш ПХП вообще что-то актуальное или уже нет?
Он будет актуален ещё лет 20 как минимум. В мире есть куча консервативных людей, которые как выучили jquery, php, mysql двадцать лет назад, они так и будут лет 20 его использовать, до 2044 года. И лично я не считаю пхп ужасным языком. Проблема не в языке. Проблема в мудаках-программистах и мудаках-заказчиках. Кто заказывает проекты на пхп? Мелкий бизнес в основном, каждый второй говномагазин в интернете написан на пхп. И разные далёкие от айти люди. Типа логических компаний, перевозчики, депутаты, государственные органы, косметологи, и прочее. Будет ли технологическая компания, которая прям живёт и дышит айти разрабатывать проекты на пхп? Да конечно же нет! Пхп нахуй не нужен яндексу, гуглу, амазону и т.д. Потому что он медленный и сфера его применения ограничена одним вебом. Стоит ли пхп учить на перспективу? Конечно же нет. Перспективы у языка нет никакой.
Лол, если на этот кал требуют два года опыта, то на остальные стеки даже смотреть смысла нет. Вкат в айти всё. Нужно вкатываться в рабочие профессии типа заводчан или сварщиков
100% помощь, а не 100% трудоустройство. Инфоцыгане любят такие тонкие моменты где можно развести гоя
>почему тогда у них на глагне написано что 100% помощь с трудоустройством после окончания курса у яндекса?
Это просто маркетинговое наебалово. "Помощь" можно трактовать как угодно. Можно сказать вы подписались на наш список рассылки с вакансиями - это мы помогаем вам. Тоже самое, вкатываетесь или вернём вам деньги. Я могу статистически посчитать, допустим один из 5 не вкатывается. Ага, значит я могу повысить стоимость на 20% и я ничего не теряю, если верну этому чуваку деньги.
В любом случае, надо читать договор и мелкий шрифт. Наплести они могут что угодно.
>Ага, значит я могу повысить стоимость на 20% и я ничего не теряю, если верну этому чуваку деньги.
Всё проще - требуем от вкатуна 10 письменных отказов, приносит - возвращаем деньги. Интересно, был ли хоть один прецедент возврата бабок за говнокурсы.
Каждый залетающий в айти и этот раздел думающий что после курсов будет комо то нужен. Так вот, такого не было никогда, владельцы курсов просто продают лопаты во время местной залотой лихорадки, им вск равно на качество продукта. Привыкайте воспринимать курсы просто как интро к каком-то иеструменту, в любом случае будете 90% времени гуглить и учиться со стронних источников и доков, если конешно хотите в айти попасть.
Нет, обязательно чтобы указано было что с яндекса тоже не берут
Норм парни не кодят на пыхе из-под винды. Хотя когда я работал на битриксе, там опытные челы его использовали, потому что надо логиниться в учетки заказчика, а там свои впн настроены и клиенты ток под винду. Лучше потрать пару дней и попердолься с vagrant homestead.
>и норм парни вручную все настраивают
Норм парни докером пользуются, лол. Как раз вручную настраивать это через опенсервер, потому что "не автоматически"
В одной маленькой конторе использовали вагрант, ковырялись в конфигах сервера и работали с консолью, затем успешно мигрировали на докер. А вот в других "крупных" компаниях использовали open server. Причем даже было такое, что у одного опенсервер на апаче, а у другуг на нджинксе.
>я говнокодер
Ты лишаешь себя опыта работы с линуксом
Ну я с заделом на будущее. Пока просто не особо пазл складывается, хотя вроде знаю какая технология для чего, например редис, бд, ларавел, апачи, пхп, реббитмк, а как все это вместе сделать сложить и почему именно линукс понимания нет. Я так сказать неуспешный студент и вписался в проект один. Поэтому выбрал что то попроще по типу опенсервер где все уже есть
>и почему именно линукс понимания нет
Хостинги на линуксе (если это не для .NET насколько я помню). Но пока нет доступа к терминалу, можно не заморачиваться наверное.
А че там накатывать то? Я просто скачал докер, ткнул галку с wsl, всё запускает работает, как я понимаю используя всл сразу.
Или ты предлагаешь прям взять всл, туда скачать образ линукса и уже на Линуксе запускать докер? Тогда наверное проще виртуалку поставить
>и почему именно линукс понимания нет
Потому что Windows Server в целом не очень. Для маленьких сайтиков он слишком сложный и обладает кучей корпоративных функций. Для больших сервисов он недостаточно свободы дает.
У него ниша это только "энтерпрайз .NET". То есть вы не айтишная компания, например крупная авиакомпания. И у вас есть собственное мега-приложение на .NET которое вы используете для автоматизации работы компании.
Вот тут виндосервер еще +- норм. Но опять же, не в российских реалиях.
>100% помощь
Максимум разберут типичные вопросы с собесов и помогут с оформлением резюме, всё. По блату никого никуда не протолкнут.
>>24498
Всё так. Сам пробовал курс по питухону, это пиздец, никто вообще не понимал чё к чему, все повторяли какой то код за преподом как обезьянки, потом он по минимуму пытался объяснить что это всё значит и переходил к следующей теме. Тупо чел сидит на зп и ему срать какого качества кадры выпустятся с курса, задаёт алгоритмические задачи при том что алгоритмам даже не учит, они вообще не упоминаются на курсе, то есть он даже не вдупляет чему вообще учил и какого уровня знаний ожидать от людей. Пара дней уделяется ООП, столько же SQL, и сразу по программе приступаешь к Джанге с кашей в голове. Мм найс. Может в яндексе всё получше, учитывая что там годовая программа, хз.
>владельцы курсов просто продают лопаты во время местной залотой лихорадки
По-моему и золотая жила уже иссякла.
До сих пор яростно пиарят курсы. Каждое видео открою - там реклама ебаного курса
>Норм парни не кодят на пыхе из-под винды.
Сейчас 2024 год на дворе, в win10 есть ядро линукса из коробки, wsl называется.
Он ломается блядь, сука, вы в КАЖДОМ треде про это говорите нахуй. Вам лень по ссылкам в шапке и по гуглу метнуться?
Ты вообще знаешь что такое wsl? Редактор запускаешь из под винды, а кодовая база находится в wsl. И пхпшторм не нужен когда есть vscode.
Ну чёт слышал, попробовать надо.
Если только вкатываешься то опенсервер норм.
В тот момент, когда ты поймёшь, что пердолинг с виндой в попытках завести очередную хуйню начинает занимать слишком много времени, спокойно перекатишься на Линукс. Убунта казуальнее некуда.
Для более-менее серьёзной разработки Линукс необходим. Винда слишком херово работает под веб парашу.
И это говорит тебе убеждённый хейтер красноглазой недосистемы.
> В тот момент, когда ты поймёшь, что пердолинг с виндой в попытках завести очередную хуйню начинает занимать слишком много времени, спокойно перекатишься на Линукс
АХАХАХАХААХАХАХАХА
Даже спермоблядь, макакающая на мразотном быдлокодерском ПЕХОПЕ, признаёт, что виндус говно, спешите видеть.
Это к репетитору
Ну надо кароч нормально так сесть, с пивасом и кальмарами. И нормально так прочитать доку за вечер. Ну и все кароч.
https://github.com/casshh87/uppu.ru
Потом переделаю
А что с ним не так?
1) Есть еще какие-нибудь ресуры, где помогают реализовать свой pet проект?
2) Какие самые понятные ресуры для полного понимая MVC и SOLID, чтобы хватало на проекты и собеседования?
3) Есть какой-нибудь понятный курс для изучения алгоритмов (желательно с применением PHP)?
4) Как быстро освоить книгу Чистый код Душного Боба?
5) Какие курсы или ресуры посоветуете для изучения английского
1-4 - подписка на Хекслет за 4к в месяц, лучше по пыхе ничего нет, там как раз разбираются все эти штуки + книга ACWA Book Adel F.
5 - хз это в /fl/
Первое что бросается в глаза: используется композер, прописан автолоад, но какого-то хуя везде все равно include и require. Разберись как работает автозагрузка наконец.
Второе это классика: вся хуйня со всей хуйней. Вот есть у тебя файл file.php Там внутри внезапно нихуя не file, а FileHandler что бы это не значило. Который делает кучу какой-то хуйни, рисует какие-то теги, за каким-то хуем лезет в базу и поет и танцет и кофе варит. А самое главное там в конце файла прописан какой-то код, который дропает все приложение и чем-то срет в буфер вывода.
Ну тебя самого то не смущает что при подключении файла с названием file у тебя приложение работу завершает? Я уж не говорю про file_list в котром уже какой-то свой хэндлер и внезапно появляется класс File. Какого хуя FIle не в file, а в file_list - загадка.
Выглядит типичный говнокод на пхп пятнадцатилетней давности. Это даже не процедурное программирование, а какое-то полускриптовое, я хуй его знаю. То что там какие-то классы используются погоды не делает, они все равно хранятся в каких-то глобальных переменных, а вместо функций используется подключение файлов.
1. Надо изучить как пишутся ооп приложения на пхп, как работает автолоадинг, как пишутся и используются классы итд.
2. Надо разобраться как пишутся сайты. Как создать конфиг, что такое роутинг, про Index.php итд.
3. Надо наконец узнать что такое MVC и привести в минимальный порядок кодовую базу.
Дальше еще пунктов до тысячи. Но начать нужно с этих трех.
>1) Есть еще какие-нибудь ресуры, где помогают реализовать свой pet проект?
>2) Какие самые понятные ресуры для полного понимая MVC и SOLID, чтобы хватало на проекты и собеседования?
>3) Есть какой-нибудь понятный курс для изучения алгоритмов (желательно с применением PHP)?
>4) Как быстро освоить книгу Чистый код Душного Боба?
Не, братан, ниче больше нет во всем интернете. Все сами тыкаем вслепую.
Выглядит страшно такая конструкция с геттерами и сеттерами. Мне нубу с публичными атрибутами такого не понять.
языку почти 30
UTF в язык так и не добавили
basedir() так и не может не обосраться на директории с русским названием
Пасиб за подробный ответ, будем изучать
Типа загружается файл -> хешируется, на выходе сохраняется в папки и вложенные папки (чтобы ФС не охуевала от количества) -> uploads/dfdf/dfdf/vbvbcv.jpg
У нас название тримится по три символа и создаются подпапки по на abc/def/ghi/abcdefghi.txt
Рандомное название + md5? Или прям хеш самого файла вычисляете типа crc?
Так же сама генерация в цикле типа while (true), типа если файл там такой есть, то по новой имя придумываем?
>Рандомное название + md5
Да, именно так.
>типа если файл там такой есть
Теоритически такое может случиться. Но за 5 лет еще не случалось. Может это заслуга генератора случайной строки во фреймворке.
https://scrutinizer-ci.com/g/yiisoft/yii2/code-structure/master/operation/yii%5Cbase%5CSecurity%3A%3AgenerateRandomString
Ну вот как я тебе написал - я так уже делал с while(true) if file_exists ... работает. У md5 коллизии же, перезапишет какой-нить файл и все
>>29994
Ну если ты планируешь там держать больше 10к файлов, то наверное и стоит замарочиться. Я бы архивиро архивированием.
>Я бы архивиро архивированием.
Чиво?
Это контент файлы для сайта, или пользователей. Тут явно архив не подойдет, т.к. нужно отдавать все
>>29985
Так коллизии именно то что и нужно.
Берется хэш от содержимого файла. Это и будет его название.
Потом этот файл ищется в структуре, обычно это двойная вложенность по первым буквам /ab/cd, но если планируются миллионы файлов то можно сделать тройную.
Если файл с таким названием уже есть, то сравниваем тело файлов и в 99.999% случаев это дубль.
Какой нахуй цикл? Мы тыкаем в то место где должен храниться новый файл и проверяем занято ли оно.
>Какой нахуй цикл? Мы тыкаем в то место где должен храниться новый файл и проверяем занято ли оно.
Это прикол? Ты проверяешь - он есть. Далее пересоздаешь - такой тоже есть. Твои действия без цикла? 10 раз if else бужешь писать, если есть то пересоздать имя?
Мой же вариант - цикл, сохранили -> break; или повторно создаем имя которого нет в папке
Бля, ты рофлишь? Если это один и тот же файл, та каким хуем он два раза будет в твоем хранилище? Хэш берется ОТ ТЕЛА ФАЙЛА БЛЯДЬ, он не случайный.
Он не-модный, но актуальный кто бы там чего не говорил.
>В мире есть куча консервативных людей, которые как выучили jquery, php, mysql двадцать лет назад, они так и будут лет 20 его использовать, до 2044 года.
Дело даже не в этом, дело в том, что создано дохуя легаси которое надо поддерживать и развивать. Да и инструментарий стал настолько хорош, что на пыхе современной с совреенными фрейворками тупо быстро и удобно разрабатывать проекты типовые. Берешь условный Laravel и поехали.
>Выглядит типичный говнокод на пхп пятнадцатилетней давности
То ощущение когда я вижу код худшего качества, который был написал американцем менее 10 лет назад для крупной компании кек.
>>30247
Да нет, просто так существует жизнь вне айти-компаний. Это хэлскер и образование, у них айти тема это просто инструмент, работает и слава богу. Васян пришел считай нубом к ним, делал у них считай всё что надо, опыта не было, скиллов не было, хуяк-хуяк и клепал, а хуле работает, задачу выполняет. Зашквары там конечно были, вроде плэйнтекст паролей в БД и т.п., но в целом почему нет. У меня конечно глаза на лоб немного вылезли, поэтому мы им по чуть-чуть переписывали самый зашквар и более нормальные подходы внедряли.
Вы видите копию треда, сохраненную 27 ноября в 11:09.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.