Что такое PHP? Мое мнение об этом языке программирования
HTML-код
- Опубликовано: 28 май 2024
- Что такое PHP: мои советы, основы синтаксиса, где используется - CMS, E-commerce, Enterprise. Как начать учить PHP?
🦊Обучение PHP с ментором в FoxmindEd - go.foxminded.ua/3PgJGer
Что такое Framework - • Что такое Framework пр...
😭 5 самых распространенных ошибок в обучении на программиста (студентам будет больно) - • Ошибки в обучении на п...
Тайминг:
00:00 - Вступление
00:22 - Мой опыт работы на PHP
01:26 - Преимущества и недостатки PHP
04:22 - Что пишут на PHP
05:13 - Написание CMS на PHP
07:51 - E-commerce сайты на PHP
08:35 - Enterprise разработка на PHP
10:20 - Базовый синтаксис PHP
12:19 - Порог вхождения
13:24 - С чего начать учить PHP?
Курсы для будущих JS-разработчиков:
JavaScript Start - go.foxminded.ua/44bfPIN
FRONT-END (ANGULAR, REACT) - go.foxminded.ua/46eyyVM
NODE.JS - go.foxminded.ua/46fbLsD
Курсы для будущих Java-разработчиков:
JAVA Start - go.foxminded.ua/3qSQ2Xu
Инструментарий JAVA - go.foxminded.ua/3JpGOrZ
JAVA - go.foxminded.ua/468N55c
Обучение на проекте - go.foxminded.ua/465cnRL
Курсы для будущих С#-разработчиков:
C# START - go.foxminded.ua/3p9Tzjw
C#/.NET - go.foxminded.ua/3JkWFYM
Обучение на проекте - go.foxminded.ua/465cnRL
C# NEXT - go.foxminded.ua/445NbZl
Курсы для будущих Python-разработчиков:
PYTHON Start - go.foxminded.ua/3CAWrZP
PYTHON - go.foxminded.ua/3NfHIZp
🎓 Другие направления:
ANDROID - go.foxminded.ua/42HsstS
SALESFORCE Developer - go.foxminded.ua/3Xe74v6
UI/UX дизайн - go.foxminded.ua/46eyHbM
Unreal Engine - go.foxminded.ua/3qPp0jC
QA Automation - go.foxminded.ua/465ccpz
IOS разработка - go.foxminded.ua/3PiVIUE
Unity - go.foxminded.ua/3Xc9Ykb
GOLANG - go.foxminded.ua/3PfeJaF
🎓Продвинутые курсы для состоявшихся девелоперов:
Enterprise patterns - go.foxminded.ua/3CBAcTv
GRASP and GoF Design patterns - go.foxminded.ua/3p9TufI
Алгоритмы и структуры данных - go.foxminded.ua/443YcdK
C# NEXT - go.foxminded.ua/445NbZl
🔧 Пробное техническое собеседование со специалистом уровня Senior Developer/ Team Leader - go.foxminded.ua/3NCqAyn
👔 Карьерная консультация с Сергеем Немчинским - go.foxminded.ua/3Cz7YJ0
Сайт FoxmindEd для новичков: go.foxminded.ua/3NBiS7x
Сайт для разработчиков уровня мидл+: go.foxminded.ua/3qSQyoo
FoxmindEd в ФБ: / foxmindedco
FoxmindEd в Instagram: / foxminded.ua
Мой Telegram: t.me/nemchinskiyOnBusiness
Для деловых запросов: youtube@foxminded.ua
#НемчинскийPHP #Немчинский #php
🦊 Обучение PHP с ментором в FoxmindEd - go.foxminded.ua/3PgJGer
К стати, есть интересный видос на ютубе, в котором "чистый" код противопоставлен "быстрому" коду. Может будет интересно разобрать! )
@@Vlad_a450 в п'ятницю вийде відео на схожу тематику
Зачем нужен лендингу CMS ?
В PHP есть строгая типизация.
@@Vlad_a450 я считаю что перегружать ненужно даже стилями и лишним js - на выходе килобайты, но только те о которых я вкурсе и уверен)) чтотамктотам я код читать не буду - у безпонтовой либы 200+папок для понта и ни один файл не используется - сосите жопу продажники ларавеля - меньше но качественней. я даже плагины вп видел где картинка на 60метров))
Знак $ напоминает PHP разработчику зачем он пишет код.
Мотивирует
я ещё он помогает сразу увидеть переменную)
поржал)
спс. Не понимаю людей которые хейтят пхп , уже 15 лет рублю бабло на нем и вообще проблемы не вижу. А по поводу стрелок, я на пхп перешёл из С++ и поэтом он как родное
я тоже не понимал и даже немного клал на этих людей с хабра))
Скажу как есть. Разрабатываю на PHP и Laravel, включая крупные проекты. Очень нравится! За несколько лет НЕ пожалел ни разу. На Laravel писать вообще одно удовольствие, экосистема близка к идеальной, а работы хватает с головой - приходится отказываться от проектов... В сумме зарабатываю больше 5k$, так что PHP, как говорится, кормит. Рекомендую!
Поделись работой)
тоже решил перейти на laravel с Yii2, сделаю пет проект какой нибудь
Я тоже, когда фреймворки увидел - мое мнение сразу о нем изменилось
@@tigrpoehal1836 вирішив перейти з Yii2 на Laravel і зробити пет проект? Ти що ніде не працюєш? Так просто знайди роботу на тому, що знаєш, замість даремного вбивання часу.
пожамкал фреймворки - не понравилось что запросы типа построй меню с подкатерориями будут драконить бд не 1-2 запроса а более. я очень критичен и в кол-ве строк тоже. пишу на нативном и хендмейд с опытом 15+ лет столько не зарабатываю( ни с кем не работал - фриланшу 24/7 - дайте совет
Пыху предрекают смерть минимум последних 10 лет. А он всё также живее всех живых. И все также очень много Бэка на пыхе. Нормальный язык с большим количеством вакансий на территории Украины и других стран. З.П. на пыхе не лям, конечно, но выше чем у большинства офисников и менеджеров. ПыХ живее всех живых!
После появление 7 версии , к пыхе вернулась жизнь, сайты на новых версиях работают в два три раза быстрее
@@john1989666 , а сейчас уже восьмая версия и она ещё на порядок круче. ПыХ рулит.
@@john1989666 нова версія php + фреймворки типу Laravel дали йому друге дихання:)) Ну і не забуваємо про Wordpress, на якому накліпали стільки сайтів, що мама мія і з часом треба їх або фіксати, або переписувати. І якщо переписувати, то також вибирають PHP:)
Но сейчас чаще и чаще предпочитают при разработке node js.
@@DiabloSat_offнавіщо нода для малого і середнього бізнесу? Я ось ноду пишу і коли побачив скільки всього з коробки є у пихи, не розумію реально. На ноді все недоразвито, треба мільйон ліб щоб написати щось просте.
Да -> это странно, вместо точки. 😊 Зато знак $, очень хорошо помогает с первого взгляда обнаружить переменные в коде.
Облегчает понимание, когда нет перед переменной "примитивных" типов.
А стрелочки имхо позволяют быстро понять, что мы имеем дело с объектом, так же быстро понять, где имя переменной с объектом, где название свойства или метода, а где еще вложенное свойство или метод какой-то. С точками иногда приходится всматриваться, если длинные названия у свойств и методов.
Стрелку с плюсов взяли. Подчеркивает, что объекты по ссылке хранятся
@@user-nu2jz1sb4s после C#, не привычно ещё
@@user-nu2jz1sb4s я думаю настоящая причина стрелочек в том, что точка уже зарезервирована конкатенацией была.
Знак доллара конечно же помогает увидеть переменную сразу, но это какой-то сомнительньій плюс. С тем же успехом в плюсьі можно записать джавовские варьі, подсвечивающиеся в редакторе. Поле и бєз того будет сразу видно по код стайлу
Интересно и убедительно! Благодарю вас! Больших успехов вам и всем слушателям!❣️
Сергей, отличные мысли!!! И подача тоже. Ждем обзор на GO
На счет строгой типизации у php7.4+ есть такая возможность указывать типы данных, почему-то Сергей об этом никогда не упоминает, а вспоминает давно богом забытый php3/4/5 , которые уже никто не юзает
ну так и в питоне можно типы указывать, это всё ещё не делает язык не динамически типизируемым
@@trial_botв питоне интерпретатор игнорирует указывание этих типов, в пыхе же бросит исключение если ты ждешь string, а получаешь int
@@trial_bot вы не поняли идею указания типов. В ПХП человек делает это для себя чтобы IDE и сам язык подсказывал программисту что возвращает метод например, а язык остается динамически типизированным. Таким образом ПХП упрощает написание программ и позволяет использовать преимущества типов не налагая обязанностей, они появляются только если ты этого сам хочешь.
@@xezdx в отличие от питона, в котором, да, типы - это чисто подсказка для других программистов и для IDE, в PHP если вы указали, что функция принимает аргумент класса A, то если вы подсуните ему объект класса B, то PHP выдаст исключение (TypeException - если мне не изменяет память). А в python хоть что укажите, он всё равно примет.
@@liravesnovaya242 Так в этом и вся соль. Проблема нетипизированных языков в том, что компилятор не знает что там должно быть и не может проверить. Но для надежности если программист указал, то это нужно проверять и выдавать ошибку для быстрой отладки FAIL FAST, а если ошибка просто съедается, то эта фича уже бесполезна, с тем же успехом можно комментарии над каждой функцией писать, они хотя бы в подсказках выводятся.
Вообще пайтон смешной язык, он наступил на все грабли какие только можно.
Знак бакса хорошо показывает где переменная, а где что-либо ещё, например константа. Стрелочка для объектов тоже очень крутая вещь так как легко опять же видно. Да и точка уже занята под ещё более крутую вещь - конкатенация строк. В других языка есть путаница что сделает знак "+", в ПХП сразу понятно что если стоит плюс, то конвертируются строки в числа, а с точкой всё наоборот в строки, тогда как JavaScript, который хоть и не типизированный, но будет создавать проблемы если самому не следить за типами, а пайтон так и вовсе будет выдавать ошибки. Так что PHP очень грамотно сделанный язык.
отдельный оператор для конкатенации это и правда удобно. В JS с этим бывают недоразумения
@ivanpetrov2435 с пхп7, особенно 8 уже всё для этого есть
абсолютно согласен)))
Большое спасибо за обзор языка и ваши видео!
и вам спасибо!
Спасибо за видео 🔥
Огромное спасибо за видео!
Судя по вакансиям могу сказать что php как и Java - не умрёт никогда )
Имеешь ввиду количество вакансий?)
нет ничего вечного...
пхп тоже не вечен...
@@hallgamal6302 ну тогда и пайтон не вечер...
Главное в этой жизни найти того, кто будет вас любить так же сильно, как Сергей Немчинский любит Python, если вы понимаете о чем я))) Более часто упоминаемого языка на этом канале, наверно, нет))
Це 100%, здається мені, що Сергій ще 1000 разів згадає про Python і комюніті прийме рішення "пора згортатися", та закриють підтримку Python))))
Интересная информация спасибо!
Спасибо.Познавательно))
Защита дипломов:
- Тема работы "Разработка интернет магазина унитазов на php"
- Не подходит, примитивно, уберите php, добавьте архитектуры
- Ок, "Разработка интернет магазина услуг архитекторов ПО"
- Вот! Другое дело
А что Вы можете по Пыхе сказать, Тимур? Вы писали на PHP?
@@ApelsinovIvan Признаю, писал на php ну даже года 3 и достаточно профессионально умею, даже не забыл, потому, что мне на ревью приносят все время студенты и по работе. Язык как язык, когда-то был босяцким, а теперь повзрослел, оброс культурой, я бы даже сказал, что сообщество у него более культурное, чем у многих современных и модных языков.
Батя, спасибо тебе за просвещение начинающих разработчиков. ❤
На последних версиях PHP можно писать практически такой же типизированный код, как в Typescript. Ещё буквально немного, и все будет "идеально"
Единственный недостаток PHP для меня - это отсутствие встроенной асинхронности и опасность создания долгоживущих процессов.
Поэтому совет: учите PHP для основной части проекта, а когда вам понадобится что-то асинхронное или долгоживущее, изучите Go, и используйте его в связке с вашим PHP проектом.
а вы точно реально работали с типами в Typescript, а не просто видели их издалека?
потому что типам php до типов Typescript - как до луны. их даже сравнивать нельзя.
@@buldezir Есть одно малюсенькое НО. Типы PHP работают в рантайме. А Typescript - это-ж фактически просто продвинутый линтер, ничего более. Его подводные камни, которые JavaScript всегда готов нам подставить, намного опаснее, чем менее формализованная типизация в PHP
@@vitiok78 я согласен что ТС это линтер, но изначальный коммент и мой ответ был не про это.
@@buldezir Я скажу так: иногда с системой типов Typescript приходится сражаться. И не иногда, а очень часто. Это просто неприятно, и не приносит такого уж большого бенефита. На PHP проще это всё написать, при этом безопасность кода практически на таком же уровне. И если в PHP завезут буквально пару фич, то о для меня это будет идеальным вариантом
Спасибо за видео про ПХП!
🙂
$ перед переменной -- это дополнительная мотивация кодеру, чтобы он быстрее сделал проект и получил деньги))
😂👍
я, являясь незрячим недопрограммистом, использующим программу чтения с экрана, кодил грязно, без форматирования. писал на autoit и специальном незряченском игровом движке BGT.
когда я влез в питон, как раз таки он и научил меня делать отступы во всех языках, на которых я немного писал после змеи.
аа, ну и vscode, который кстати очень хорошо работает с программами чтения с экрана, тоже отступы помогал делать. В настройках программ, читающих экран для незрячих, есть пункт «озвучивание отступов».
Классное видео, php forever))
Всякий раз, когда узнаю о вас что-то новое, все больше восхищаюсь! Спасибо за ролик.
Спасибо вам! )
Интересно, но нах политику разводить не понятно,
он мог так же нмций танк изобразить с чёрным крестом в уголке,
если говоришь о программировании, то и говори о нём, а не о своей оирентации
@@user-zr8pr1bf3d от у тебе спитати він забув. А те що тобі і тобі подібним припікає якраз і є ознакою того, що Сергій робить все вірно.
Харизматичный бро)))
В университете Европы, где я обучаюсь, лектор посоветовал взять Laravel на курсовую, сказал, что эти пару лет хорошо его нам выучить будет, отрихтовать, причем да, обмолвил, что за пару лет там все вдоль и поперек можно выучить, а потом уже что то новое узнавать по мере выхода версий, и работу есть большой шанс найти, ибо здесь маленький городок, и то, присутствует компания, которая пишет интернет магазины на Ларе, в неё можно будет пойти на практику даже, насколько я знаю.
Спасибо за ролик, он еще немного, но подтолкнул меня к изучению Пхп.
Спасибо за видео.
Пожалуйста) Какие еще темы вам интересны?
Обращение к методам/свойствам объекта через стрелку не является чем-то необычным для си-подобных языков. В тех же С++ и Perl тоже используется стрелка в ООП, а в С - для обращения к полям структуры. Так что стрелка в PHP - это тоже скорее всего влияние Perl'a.
"Немного раздражает наличие долларов, но к этому можно привыкнуть." - ох уж эти программисты 😂
Когда-то писали на Perl, потом PHP, сейчас Python - стилистика python с пробелами и табуляциями - на мой взгляд самая удобная, без лишнего. Но это вопрос вкусовщины.
Что хорошего в php - это, как было сказано - можно писать сразу сайт на голом php, на пайтоне нужен минимум какой нибудь flask.
Сильная сторона Пайтона - я вот десктоп приложение (с окошками) для Линукс пишу и сопровождаю уже много лет и он отлично справляется (pyqt)
Спасибо, Немчинский. Благодаря тебе, у меня восстановился интерес к программированию, потому что в школе он был, но такой себе(из-за российского обучения), а сейчас он начинает восстанавливается. Объяснение хорошее, бех лишней воды. То, что нужно, чтобы заинтересовать людей.
без*
Да ладно, если ты ща начнешь учиться этому то выучишься через год-два но норм джуна и короче поймешь что рынок перегрет...
при чем тут российское обучение если ты вместо того что бы учиться смотришь это бесполезное видео
@@NeverBrokeAgainx бесполезное для нас, а серёжа бабки получает)
Доброго времени суток, друзья. У меня есть вопросик по поводу конспектирования материала. Какой примерно процент информации записывать. И все в этом роде только идентично с английским, заранее спасибо!!!!
Про энтерпрайз интересно. А стрелочки ван лав. Спасибо
I am not ambidextrous. I do not enjoy static typing, and objects animate my mind's eye. But I have come to appreciate the fact that others illuminate their creativity with just as much intensity as I do mine, using functional programming constraints and explicitly spelled out types.
As long as I never have to soil my Ruby with type hints or write all front-end code in TypeScript, I can so happily coexist with those who adore Go or can't stand JavaScript. Vive la différence!
Є таке питання: хочу зробити веб сайт з базою даних яка в майбутньому може мати терабайти. має бути все швидко і наватаження в майбутньому може бути сотні мільйонів користувачів в місяць. Також сайт має бути синхронізований з додатками для айфон та андроід! Підкажіть будь ласка які технології мені вибрати?
База вот что будет узкое горлышко бутылики. А пыха справится с задачей на ура ей не впервой.
Сергей, вы упомянули, что у Symfony есть своя ORM, но Laravel тоже пользует ORM - Eloquent. В чем же преимущество Symfony'ского варианта если вы его отдельно выделили?
Тут стоит смотреть в сторону холивара "ActiveRecord vs Data Mapper". Плюс доктрине, которая в симфе, симфа то не особо и нужна - оно и само умеет быть отдельным ORM.
Например перелазя с yii2 с ее AR на симфу я с доктрины поначалу очень сильно плевался, не понимая какого черта у меня запросы отдельно, данные отдельно, а как это всё поженить вообще непонятно и почему я в entity не могу сервис заинжектить. Потом поумнел - попустило :)
@@GenaTolstij Учитывая, что я новичок - про "ActiveRecord vs Data Mapper" и доктрину я не шарю - поэтому приму так, что для симфы в принципе ORM не нужна, так как он сам ORM, а свой ORM лучше встроенного😁
@@sani4051992 , интересная логика... Учитывая что по умолчанию кроме доктрины других путей общения с базами у симфы не предусмотрено.
@@GenaTolstij Доктрина сама і є окремою ОРМ, вона була ще до появи другої Сімфоні. Насправді з Сімфоні можна використовувати будь яку ОРМ, навіть той самий Елокуент, якщо є бажання.
@@sani4051992 не робіть помилкових висновків, бо з часом вони у вашій свідомості закарбуються як "істина" і буде дуже важко їх позбутися, а заважатимуть вони дуже сильно. Просто розберіться що це за патерни актив рекорд та дата мапер. Почитайте Фаулера, він роз'яснює.
Сергей у Laravel тоже есть ORM, называется Eloquent и половинна кишков под капотом Laravel от Symphony собственно. Я PHP разработчик, начинал с Udemy и Laravel, с ним и остался. Сейчас работаю в компании юзающей два языка и да - согласен, Ruby это боль для тех ктол не привык, ео если начнешь привыкать - поймешь его прелесть. Да не читаем с ходу, но зато там столько конвенций, делающих код стандартным во всех приложениях. Что мне не нравится в Rails и почему я не очень хочу с ним продолжать а дпльше идти по PHP - слишком высокоуровневый фреймворк. Все что происходит оно не очевидно и для новичка пришедшего из Laravel кажется магией. Да, ничего не читается и непонятно куда что уходит. Но тут надо сесть и изучить, прям конкретно. Rails это такая тема в которой нужно знать конкретно RUby и конкретно Rails. Нельзя прийти с C# с 10 летним опытом и за день понять Rails не читая с нуля доки. Спасибо за видео! Всем любовь и мирного неба над головой.
Комментирую каждый ролик про PHP.
declare(strict_types=1);
Ого
А вот такой вопрос 😃 Сергей в трасляциях при ответе на вопрос о зарплатах програмистов на разных языках отвечал что плюс минус одинаково. То есть если я правильно понимаю то JS и PHP программист будут зарабатывать схожие суммы?
Это странно, т.к. js и php идут рука об руку. Аналога js для динамики на сайте не существует. А php это серверный язык. Если ты про ноду, то пхп чувствует себя попроще т.к. не такая конкуренция и работы больше на пх.
Будет фурор когда видео начнётся со слов - "Здравствуйте, меня больше не зовут Сергей Немчинский!")
Теперь мне понятно, почему, когда я пыталась учить Руби в качестве первого языка, я не поняла ни фига (и бросила) и почему теперь, когда я изучаю PHP, мне все понятно и в кайф.:)
Как программист с 10 летним стажем у web разработке php использую в 90% случаях, остальные node.js если нужна асинхронность, самый простой пример это чаты, или например нужно выдавать результат во время работы скрипта, например выгружаешь огромный файл, и ты выдаёшь % обработки, и да, на php тоже можно такое, но node подходит гораздо лучше.
Вы что же используете те же инструменты что и 10 лет назад? Веб разработка уже давно на 90% какой нибудь javascript фреймворк типа react или vue, остальное это апи и бекенд и совсем необязательно на php.
Сергію, дивлюсь вас вже кілька років, і от маю цікаве як для мене питання. А чому ви ніколи не говорите про мову програмування VisualBasic? Не в тренді чи як? Прошу надати відповідь. Дякую
Наоборот наличие долларов это преимущество PHP. И стрелочки довольно красиво.
Объясни плиз как ты заюзаешь Websocket Secure WSS на PHP?
это была моя основная причины выброса в мусорку пхп, что я не нашел ответа на этот вопрос быстро и легко
Зачем не нашёл
@@jaloliddinhaqnazarov ты прикалываешься? что значит зачем вебсокет?
@@user-eb3lz3ox8u я не сказал зачем вебсокеты , спросил ты нашёл или нет решения как исползoват вебсокеты на PHP
Работаю в банке, работал еще в 2х финтехах. На пхп. Интеграция с другими платежными системами, с кучей внешних систем и так далее. Дохрена всего. Больше всего работаю с симфони. Это порт джавовского спринга) А еще в современном пхп всё отлично поддерживается и есть супер строгая нулобезопасная типизация. К тому же она еще и статичная получается с версии 7.4. А с 8 версии вообще есть енамы.
Делал перенос приложения с asp + vba на php. Отлично подошел для сравнимо простой конвертации. проект занял 2 месяца.
2:20 - Насчёт операторов адрессации "." и "->". В С++ есть и то, и другое. "." - это когда объект (структура) статические, а "->" - когда динамические.
По поводу знака ->, в С и С++ он тоже юзается как указатель на поля обьектов/структур. По-моему к методам тоже так можно обращаться, правда уже не вспомню точно))
Первая ассоциация в этом видео с -> была как раз на указатели в C/C++ 😁
Офигенный язык PHP на самом деле. Тем более после изучения JavaScript вообще прогулкой кажется
@SergeyNemchinsiy Щодо Пайтона, нещодавно я пройшов невеличкий курс з пайтона, після 10 років програмування на PHP - я сидів і хапався за голову кожен раз коли треба граится відступами, коли нужно імпортувати купу бібліотек кожен раз коли тобі вони потрібні, коли бачив що всередині класу можна легко використати змінну яку визначили в клієнтському коді і ніяк не передавали всередину, коли "інкапсуляція" працює тільки для IDE, а за бажанням можна просто отримати доступ до чого завгодно всередині класу, коли немає нормальних ітераторів, а для того щоб зробити зручну ітерацію по даним треба попередньо "погратися" а щє дуже незручно коли область видимості функції об класу пересікається з областю видимості клієнтського коду через що можуть бути проблеми із однаковими іменами змінних !!!! ... Я згоден що з пайтоном можна в машин-лернінг, або у якийсь аналіз даних, але бляха-муха... після такого пафосного "Пайтон - супер-пупер мова програмування за допомогою якої можна робити шо завгодно, а щє закиди по типу принт можна зробити за один рядок коду, або переприсвоїти змінні одна одній теж за одну операцію" після занурення в пайтон в мене склалося стійке враження що мені на PHP багато чого робиться і працює набагато зручніше і пишеться коротше та швидше... Не знаю може я щє недостатньо занурився в бібліотеки та фреймворки, але на даному етапі я відчуваю що тупо втратив час та міг би вивчити за ці два місяці щось більш корисне.
І як було приємно повернутися до фігурних дужок і крапки з комою і змінних із доларом :D
Подскажите дилетанту: так он и для бэкенда и для фронтенда?
Бэк
What is dead may never die! 🐘
Valar morgulis
Пишу на symfony, в восторге от фреймворка и его инструментов! А если еще умешь в golang то получается ядреная штука)!
Что общего у Symfony и Go? Go это что-то новое от гугла, про которое со временем забудут. Зачем на него вообще время тратить?
@@igoraleksandrovich1498 я разве написал что у них есть что то общее (постановка вопроса даже весьма странная, один фреймворк дргой просто язык)? Я про то, что одно может дополнить другое если требуется решить проблему н-р "бутылочного горлышка" в контексте производительности
Простите за глупый вопрос но скажите пожалуйста сколько месяцев менторинга нужно пройти чтобы стать хард джуном?
зависит от вас :)
вообще-то до 2х лет общепринято считьать. Но есть джуны и с 5и летним стажем
Небольшой плюс от $ в начале переменной - это явно различает что это переменная, а не константа.
Ну и можно реализовать конструкции вроде динамического объявления или обращения к переменным
$a = 'var';
$var = 1;
print $$a;
выведет 1, не лучшая практика, но как элемент в какой-нибудь хитровложенной рекурсивной функции вполне помогает.
А адресация точками или стрелочками это чистая вкусовщина на основе привычки, лично мне наоборот привычнее поставить стрелочку, а, для избежания длинной стоки, каждую стрелочку делать с новой строки вроде
$object->getSubObject()
->getSubObjectProperty()
->getValue()
Ну и стандарты с возможностью установить строгую типизацию тоже язык сильно улучшило
Если раньше прокатывала конструкция вида
public function do_something($input) {
...
...
...
return true;
}
То сейчас такое на любом ревью завернут на переоформление в вид
public function doSomething(string $input): bool {
...
...
...
return true;
}
как результат, попытка передать что-то кроме строки, выдаст ошибку, как и возвращение чего-то кроме true/false
: bool ну и шляпа - я понимаю что это комуто нужно и я рос в php с того века - а зачем???? приведи типизацию переменной если нужно. не помню чтоб у меня был баг - возможно я слишком медленно пишу)
Коли ви говорили про фреймворки я дуже сподівалася що ви згадаєте Zend Framework
А на нових версіях пхп можна писати використовуючи строгу типізацію :)
Коли її почали завозити - мені пхп почав більше подобатися.
Так він давно вже не Zend Framework, а Laminas. Я трохи використовував Zend 1.5, важкуватий, але мені він подобався, особливо робота з формами. У 2021 спробував АРІ Tools з Laminas скористатися, але, на жаль, не вийшло. На етапі встановлення вивалило купу несумісності пакунків, я подовбався з годину і кинув.
Во, другое дело! :)
какое различие между php и sql? типо они же для дата баз не?
пыха- язык бэка (связывает бд и фронт), скул- язык баз данных.
Когда Бог писал код Вселенной, то сделал это на Java. И увидел Он, что это хорошо.
Потом заметил скучающего, одинокого Адама и написал код для Евы на Perl-e. И ужаснулся Адам и с проклятиями убежал вглубь Эдемского сада, где написал на PHP pornhub.
Нет уже ни Адама, ни Евы, а порнхаб есть. PHP - write once, run forever.
Мне тоже нравился PHP и я на нем писал, классный язык.
Синтаксис PHP как по мне прекрасен. Единственное печалит это то, что из коробки нет мультипоточности, да и в целом PHP намного медленнее того же GO, а так всё збс
На счёт динамической типизации - на php она включена по умолчаю, но по желанию легко включается строгая типизация, так что к минусам этот факт относить нельзя. Ну и я уже не помню, когда последний раз встречал проекты, где бы использовали динамическую типизацию
strict_types работает только для скалярных типов, если вы об этом
В Netbeans переменные с долларом подсвечиваются отдельно и это чудо-чудное, диво-дивное)
Лайк за недовольство пробелами в пайтоне. А мне также ещё не нравится отсутствие точки с запятой в питоне. Реально напрягает эти две вещи.
🙂
Обожаю данные особенности.
Пишу на питоне, обычно использую VS Code, вообще никогда не сталкивался с проблемами пробелов. Я даже понять не могу эти ваши проблемы.
@@tisseandorius, потому что скорее всего Питон Ваш первый ЯП. А когда Вы писали бы на протяжении минимум 8-12 лет на СИ-синтаксисе, то про пробелы и отсутствие точек с запятой сказали бы:" Фу, что это за дичь?".
@@Zyozikexclusive_ZX Вообще, в питоне можно точки с запятыми ставить, если очень хочется.
@@tisseandorius , это я знаю. И про скобочки. И я так первое время и писал код ровно до тех пор пока не понял, что Си-Синтаксис из меня не выйдет наверное никогда.)))
Мы уже пару лет как перешли на строгую типизацию в компании. Думаю, что эта тема уже не актуальна в 2023 году.
Согласен) Типизация рулит, все понятно, что ожидать. Скоро в пыхе по умолчанию будет строгая типизация)
@@super0leg вообще не скоро (а может даже и никогда из-за особенностей внутренних реализаций), ибо нет возможности типизировать списки и прочие вещи, generic-и туда же, локальные переменные. Приходится пользоваться аннотациями + статический анализатор. Хоть и на текущий момент везде использую строгую типизацию, но не стоит забывать что это накладывает небольшой оверхед в рантайме, ибо нам в рантайме всегда приходится проверять корректность типов переменных.
Запишите отдельное видео про джаву будет интересно услышать ваше мнение про него, в последнее время слышу от многих что джава уже так сказать одной ногой в могиле а другой как то ещё живёт , крч не понятно как и что до конца.
RUBY? А как насчет APL по читабельности?
Кстати, такому почитатателю Python, почемы бы не просветить народ о Majo?
Java, я же на эту цацку-песку от Sun Microsystem даже сертификат имею, экзамен сдал хотя нихрена никогда не работал. Но, индульгенция крутая, HR уважали всегда. Там такая бумага для вставляние в рамочку на стенке, со всеми ободками. :)
По мне лендинг и пару страниц - это все же статика + редактор :-) Ну а типизацию можно задавать, с 7 вроде :-)
Огромное спасибо вам за то, что даже после 24 февраля, после начала войны вас всё ещё зовут Сергей Немченский!
Слава Україні!
Героям слава
@@mexanikilya_ Ты долбик. Путин же молодец - помни!
Есть ли обучение на проэкте ПХП??
пока нет :(
10:40 Пишу на Python около 3 лет. Никакой разницы с фигурными скобками не замечал , всё равно абсолютно во всех языках принято делать отступы после начала нового блока кода, ведь его тогда легче читать. Объясните, кто как понимает, будет интересно почитать
у інших мовах зайві/недостатні пробіли не викликатимуть помилок, які складно шукати.
@@woodzimierz9621 пробіл видно очима одразу, бо весь код здвинутий вбік. Фігурну дужку на відміну від цього можна і не помітити одразу. Це скоріше питання смаку, але ніяк не проблема мови програмування
Для мене правильні пробіли краще ніж фігурні дужки. Два зайці одним пострілом: і правилне форматування і відсутність зайвих символів (фігурних дужок). Так само як відсутність стрілки краще ніж її наявність...відсутність фігурних дужок краще ніж їх наявність.
Це ще можна назвати "вкусовщина", але точно не мінус як говорить Пан Сергій в кожному відео)
@@VladKochetov Насправді? Не завжди. Я на пайтоні писав доволі складні застосунки, тому кажу зі свого досвіду, якщо велика кількість рядків коду, а зсув відбувся вище за межами екрану, то це та ще веселуха шукати його.
@@woodzimierz9621 якщо в вас проблема з читанням коду - то це поганий код або архітектура
у меня другой вопрос к знатокам. на сколько актуальны сейчас perl и ruby и где они применяются? на изучение выбрал для себя java как наиболее актуальный и универсальный язык. на первый взгляд пока. не сказал бы что его учить сложно, наоборот. но из минусов отметил его вариативность во благо сокращения кода. например a=a+1 то же самое что a++. это вынуждает запоминать ещё что-то, хотя бы ради того что придётся читать чужой код. ну и есть другие примеры. претензии пока только к этому. по моим наблюдениям ещё не в тему. си шарп очень похож на джава, что в плюс, если хотим писать нативно под винду. наверняка есть специальные трансляторы, которые переводят код из джава в си в решётку или наоборот. виндой я не пользуюсь, но. расстроил монструозный синтаксис языка shell, который используется по умолчанию в линукс. для командной строки я бы предочёл интерпретатор на другом языке. опять таки. это дело вкуса. можно привыкнуть к синтаксису
Стоит ли идти в битрикс, чтобы получить первую работу и потом доучивать нормальные фреймворки - laravel/symphony/yii2 или лучше сразу учить фреймворки?
Ясен хрясен сразу фреймворки. Ты на битрикс времени затратиш не меньше.
меня в php удивило не столько -> , сколько объединение строк через точку
Кстати, C-подобная конструкция $a.='bla-bla-bla'; там тоже работает. И в JS тоже (с поправкой на синтаксис)
Сам пользуюсь, но ни разу подобного в примерах не видел.
Враховуючи початкову концепцію відсутності типізації воно має сенс, '1' . '1' = '11', '1' + '1' = '2', хоча я не впевнен, що воно так спрацює, но крапка як окремий оператор краще, коли ти не знаешь, якого типу в тебе змінні.
@@adicthreex3530кстати да. Я как-то об этом даже и не думал. Ps должно сработать именно так, как написали 👍
@@postoronny треба просто уважно читати документацію по РНР, все там є.
@@woodzimierz9621 , да!
Только это - не мой родной язык, я им пользуюсь изредка...
Писал 5 лет на пхп. Приятный синтаксис, читабельный. Вменяемое ООП. Как первый язык - отлично. Не хватает дженериков и многопоточности (раз уж многие используют пхп в том числе для бэкенда).
Угу. Правда не стоит забывать, что если в PHP не хватает скорости или функционала, то всегда можно написать своё расширение на C++ :)
Много лет назад тестировал эту фичу и остался доволен. Та же многопоточность вроде бы доступна через расширение 🤔
Проблема дженериков частично решается через DocBlock
13:50 практически мои эмоции когда с Unity пересел на Unreal
Стрелочки вместо точек появились, потому что точки были уже заняты в конкатенации строк. На заре язык был настолько прост, что ООП в нём даже не планировалось.
Многие обсирают пхп не понимая его историю и почему сделано так а не иначе
Пацанские цитаты подъехали в конце видео 🐺
Какие языки программирования изучать чтобы развиваться в VR/AR?
C++, C#
ну на python-е не только веб фреймворки. я вроде где-то слышал, что python можно подключить к вебу и использовать print для вывода на вебсайт прям как echo в Пхп. но может и ошибаюсь.
Можна і не тільки на пайтоні, але те як ти написав, то повна маячня.
@@woodzimierz9621не очень понял. ну ладно.
PHP 5.6-вот был простой язык.)
В 8 версии это уже не изи-язык.
Мне нравится как раз максимальная понятность языка.
ага на 56 такого навидался)) а что с 8 не так? я както и не понял разницы - как обычно чтото убрали/добавили - не 7й же - хуже точно не стало))
@@80689248440 дэк, бро) чего там навидываться, если тот язык был для примитивных веб-сайтов и Вордпресса)
Золотые времена) Самый понятный код, ну или я к шарпам привык, хз
Наоборот PHP 8 избавился от лишнего мусора.
А типа на 8 нельзя писать так же как на 5.6 :) Если очень захотеть, то на нем и как на 4 можно писать за редким исключением (либа мускула стала другой)
@@unicoxr5tj417 да делфисты код писали и свалили))))
А в чем проблема чтения Ruby?
Возможно у меня уже замылился глаз😁
Соглашусь, что синтаксис у него своеобразный местами, но на первых парах (на проекте, где надо было писать на Ruby) именно читать код мне было легко, хотя опыт в Си подобных языка уже был
На счет Питона согласна, мне тема пробелов тоже всё-таки неудобна
$ - у PHP тоже дело вкуса, но для меня сейчас выглядит старо и странно на фоне остальных языков
Сергей, спасибо большое за ваш труд. Вы в этом видео сравнивали php с python/ruby, но почему не сказали про nodejs?
потому что node js давно не поддерживают в том же темпе как php, python и ruby. Он уже перестал соответствовать новым реалиям рынка вэб-разработки, да на нём можно всё ещё написать годный проект, но зачем? если у конкурентов разработка такого же проекта оказывается быстрее, удобней и без костылей как в node.js. Раньше node держался из-за многопоточности, сейчас же когда php получил свои инструменты для многопоточности, node.js уже выглядит как пережиток прошлого.
@@TwELvE848Почему Node.js не соответствует новым реалиям разработки ? Для задач ввода/вывод очень даже хорошо подходит, есть вполне неплохие фреймворки тот же Nest (у нас он на проекте, код читается как книжка). Может в многопоточку с помощью Worker Threads
@@user-sp1vi7fg2u тут дело скорее именно в скорости разработки. С nodejs - все хорошо, но код еще быстрее можно написать на php/phyton/ruby, что для бизнеса - очень кретично и не всегда встает вопрос об эффективном и быстром исполнении кода как в nodejs, тк не каждый бизнес еще дорастает до таких нагрузок, а вот реально быстро выкатить мвп и затаскивать фичи - бизнесу оч надо здесь и сейчас
@@KobaltMetal Хм… А разве на Node.js (оно же JavaScript) так долго и сложно разрабатывать ? Язык с динамической типизацией, синтаксис С подобный, интерпритируемый, я б не сказал, что он прям сложный, но сравнивать с PHP, Python, Ruby я конечно не могу ибо опыта у меня с ними не было
@@TwELvE848 из-за какой многопоточности? его фишка это асинхронность
Працюю на enterprise. З приводу типізації, гарною практикою є ставити строгу типізацію по проекту. І немає проблем. Не розказав про відсутність многопоточності і не дивлячись на апдейти він все таки повільний(
Ну в хороших компаниях без строгой типизации практически не пишут. Ну исключение что для простых переменных нет. А так тайпт хинты, свойства более менее покрывают нужды. Плюс есть статический анализатор, тот же phpstan. Сейчас без него проекты не заводим. в php 8.2 уже есть пометка класса как ридонли, что помогает делать имутабельные классы. Ну и про цены тут тоже сильно зависит от проектов. У нас обычно по несколько миллионов рублей разработка. Но я давно не делал уже обычных сайтов. Как правило это корпоративные CRM. Но нужно понимать что нормальные проекты как правило еще включат по мимо стат анализа и линтеров еще автотестирование. Как правило юнит тесты и это все сказывается на цене, но и повышает качество кода.
Как разработчик PHP с 3-ех летним стажем скажу что PHP отлично подходит для e-commerce, но почему то всегда суют в interprise (банки, Авито и т.д.). Все бы ничего php отлично работает, кучу библиотек и можно смириться с отсутствием женериков и строгой типизации, ну или нет down и up кастов. Но что меня больше всего раздражает, это синхронщина. Это отлично работает, пока дело не дойдет до вебсокетов или задач в крон. В целом крон на laravel к примеру это кажется отдельный поток с do while , но на мой взгляд на яве асинхронщина сделана удобнее и понятнее. В целом если честно немного пожалел что начал свою карьеру с php а не с java, потому что с php тяжело уйти по причине того, что ЗП на php вроде бы как поменьше, но не настолько меньше чтобы учить java/c# и потом мучиться с синтаксисом, контролем переменных и структурами данных (в яве для объектов есть коллекци или hasMap ) в php массив по сути это HashMap как в яве и работает он одинаково стабильно и быстро что на числах, что на строках, что на объектах... Нет деревьев, но ни разу не видел чтобы хоть кто-то делал дерево в яве ... В общем , для старта топ язык так скажем. А еще плюс в том, что без работы Вы точно не останетесь
в ПХП много чего нет того что в Яве. Особенно, что касается ООП, оверлоады методов и конструкторов и т.п. Одно из больших преимуществ Явы, на мой взгляд, это компилятор. Но я все одно бросил Яву из-за её многословности.
А для каких задач нужен такой асинхрон, с которым не справится очередь в месенжере? Это не троллинг, реально интересно. Например у меня типичная задача "зарядить 50 писем на отправку", так я их просто пихаю в очередь, пользователю отдаю ответ "письма поставлены на отправку" и забыл о проблеме. Дальше уже крон или что другое как раз асинхронно эту задачу выполняет. А для чего ещё надо?
@@GenaTolstijмне кажется,что люди часто путают многозадачность во фронте где при загрузке страницы асинхрон ускоряет загрузку и в бекенде где многозадачность это просто очередь)
@@GenaTolstij , да в целом то да и редис справится. Просто нужно понимать что это не наливное решение языка, а доп прослойка.
@@cranebird1467 да, забыл про перегрузку =) но перегрузка контроллеров это такое себе как мне кажется, слышал что это плохая практика
Стрелка это странно для С-подобного синтаксиса? Автор ролика видимо не знаком с Си. Именно стрелка это и есть С-подобный синтаксис доступа к данным, методам объекта через указатель. А указатель в Си это основной элемент программирования на Си :)
В PHP8 динамическая типизация уже не очень динамическая, все гораздо строже. PHP начиная с 7 версии все больше движется к строгой типизации и думаю в версии 9/10 уже мало чем будет отличаться от того же Java
Да, я жду не дождусь когда в пыхе можно будет указывать типы для переменных а не через phpdoc
@@awenn2015 Добро пожловать в 2023 год. В PHP можно указывать типы переменных начиная с версии 7. То есть, уже лет 8 как
@@awenn2015 давно уже можно, с php 7
public function (?int $a): ?string
в аннотациях только тип массива,
в php 8 и типы массивов можно пихать туда.
отраслевой стандарт не Laravel, а скорее Symfony. Да и вообще вклад Symfony в PHP переоценить сложно.
даже больше скажу: большая часть функционала laravel основана на symfony.
Они оба, по сути, отраслевые стандарты. Симфа в проектах посерьёзнее, ларка - где проще. Главные их конкуренты, zend и yii соответственно, немного упокоились с миром :(
Понимаю если бы в минусы поместил среду выполнения, что php "рожден чтобы умирать", что нет нормальной паралелльности. Может быть что-то еще. К стрелочкам придраться это конечно круто...
Ну типизации достаточно завезли в последних версиях PHP. Параметры, поля классов, результаты функции уже можно типизировать (а можно и не типизировать). Может и завезут в 9-ку типизацию переменных
сегодня умножал строку на целое и получил тайп эррор))
Да, поскорей бы, но думаю это будет сложно реализовать под капотом
Для пайтон долго пилили django cms, но вроде не взлетело
В Boland C вместо строчек тоже был ->
Для справки, ORM есть в diango)
думал этот язык поинтереснее пайтона(мне его все рекомендовали когда я перебирал биллиотеки в поиске готовых решений, чтоб зацепится за прожерство истинно в постановке задачи и её решении исключительно неолдовым путём, хотя фреймами этот язык возможно и круче оброс по сравнению с пайтоном, что больше в математику с погрешностями переодическими не заточен, а в средний бюджет что можно потратить на сайт может и сможет получше других языков, найду времени - попробую, хотя забью скорее всего, сейчас не важно)
Работаю на PHP, это жесть по поводу типизации, просто жесть, но привыкнуть можно
Есть у тебя только ноутбук или есть ещё компьютер? Если только ноутбук, то какой? Если пк, тоже интересно.
А если компьютера нет, хотел бы?
на питоне есть CMS и не одна, сейчас самая популярная Wagtail, даже делал пару проектов на ней.
У питоновских CMS не получилось отжать рынок у WP
Когда PHP был дерьмовым и популярным одновременно он собрал сообщество, которое создало WP. Этот продукт теперь отбрасывает тень на весь PHP.
І ні в кого не вийде, бо підтримка РНР на сервері, то маст хев для будь якого провайдера
@@woodzimierz9621 EC2 не имеет такого ;-)
@@user-ch76tcye4vvuu8 Та невже, а може треба уважно читати, що у документації амазон пише? За великим рахунком на амазоні є і можна все.