Обновление PHP 8.3. Обзор нововведений

  Переглядів 7,942

Просто о Laravel. CutCode

Просто о Laravel. CutCode

День тому

23 ноября вышел релиз PHP 8.3. PHP продолжает развиваться и это радует. В этом видео я сделал краткий обзор нововведений PHP 8.3 - улучшения классов только для чтения, новая функция json_validate() и другие фичи.
🎁 Для вас есть подарок, забирайте - cutcode.dev/l/4pxn 🎁
#php8.3#laravel#cutcode
---------------------------------------------------------------------------------
🚀📹👨‍🏫 Как насчет прокачки своих навыков с помощью наших обучающих видеокурсов по web-разработке? Переходи на мой сайт 👇
learn.cutcode.dev/?
❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - cutcode.dev/l/icwf
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 - Введение
00:38 - Типизированные константы классов
01:15 - Динамическое получение констант класса
01:34 - Атрибут #[\Override]
02:40 - Глубокое клонирование readonly-свойств
03:34 - Функция json_validate()
04:02 - Метод Randomizer::getBytesFromString()
04:42 - Исключения Date/Time
05:03 - Обновленная работа с ключами массивов
05:28 - Модификатор readOnly для анонимных классов
06:29 - Области видимости констант
06:52 - str_increment(), str_decrement()
07:10 - замыкания магического метода и именованные аргументы
07:52 - Подведение итогов
---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
• Обновление PHP 8.3. Об...
🔔 подпишитесь на UKposts-канал: ukposts.info?s...
📼 Курс по Laravel с нуля:
• Курс по Laravel 8 обуч...
Обновление PHP 8.3. Обзор нововведений
---------------------------------------------------------------------------------
🔗 наш сайт: cutcode.dev/?
📱 Наш telegram-канал: t.me/laravel_cutcode

КОМЕНТАРІ: 60
@VusalTeam
@VusalTeam 5 місяців тому
Класс, спасибо большое, коммент для поддержки канала ❤
@dimazak
@dimazak 5 місяців тому
PHP-"точка три" -- это сильно ) * это ирония по-доброму. спасибо за Ваш канал!
@alextopsite
@alextopsite 5 місяців тому
Спасибо за обзор!
@SanyaHP3
@SanyaHP3 5 місяців тому
json_validate удобная штука. Спасибо за обзор! Буду скоро обновлятся с php 8.1 на 8.3 и лару с 9.7.0 на последнюю
@sykouny9040
@sykouny9040 5 місяців тому
Спасибо за обзор! Лайк и подписка.
@user-qd6hj2fn4w
@user-qd6hj2fn4w 5 місяців тому
Кайф спасибо большое!
@skiptomyface
@skiptomyface 3 місяці тому
Про json вообще божья благодать какая то.
@rustamergashev7278
@rustamergashev7278 5 місяців тому
👍
@CutCodeRu
@CutCodeRu 5 місяців тому
👍
@SergeyFedosovfso
@SergeyFedosovfso 5 місяців тому
Присоединяюсь! Правое дело!
@user-ff5nt6pn1v
@user-ff5nt6pn1v 4 місяці тому
немного, но хорошо.
@CutCodeRu
@CutCodeRu 3 місяці тому
💯
@HEX_CAT
@HEX_CAT 5 місяців тому
❤❤❤🎉🎉🎉
@user-yd5sn2fj2t
@user-yd5sn2fj2t 5 місяців тому
В пхп < 8.3 тоже можно работать с отрицательными ключами массивов, как показано в примере. Просто если например в 8.0 не объявлять массив вначале $array = [], а объявить сразу с присвоением $array[-5] = 'a' и потом добавить след элемент $array[] = 'b', то будет -5 => 'a', -4 => 'b'
@point111
@point111 5 місяців тому
А можно пример из реала где это надо? Просто любопытно. Я не смог придумать зачем отрицательные ключи.
@ronbarhash
@ronbarhash 5 місяців тому
@@point111 вангую, что это просто какой то задрот-рукожоп долго "ныл" и ему добавили эту фичу :) только конченый от природы человек будет использовать отрицательные индексы :)
@pep421
@pep421 5 місяців тому
Nice
@CutCodeRu
@CutCodeRu 5 місяців тому
🔥
@andrewgjfye299
@andrewgjfye299 5 місяців тому
3:40 если клонировать readonly класс, то он перестает быть readonly? все именно такое поведение ожидают?
@CutCodeRu
@CutCodeRu 5 місяців тому
Не перестает, но только в магическом clone можешь модифицировать
@MegaWebdev
@MegaWebdev 5 місяців тому
@@CutCodeRu так в примере для 8.3 последней строчкой указано что мы заменяем значение для readonly свойства класса или я не понял что-то? Вообще кажется пример кривой, там идет обращение к readonly свойству (класс php), а далее в нем подменяется уже public свойство, которое не readonly
@CutCodeRu
@CutCodeRu 5 місяців тому
@@MegaWebdev смотрите на магический clone, пример правильный
@user-tr8gr6bl2u
@user-tr8gr6bl2u 5 місяців тому
Опять обобщения не завезли
@user-wf3ud1dq9f
@user-wf3ud1dq9f 5 місяців тому
с оверайдом тема хорошая, но практика плохая если апи публичных методов подвергаются изменению. Думаю оверайд внедрили для удобного рефакторинга старого, неподдерживаемого кода
@mykhalex
@mykhalex 5 місяців тому
начать что-ли php учить...
@CutCodeRu
@CutCodeRu 5 місяців тому
Конечно!
@P7Vagrant
@P7Vagrant 5 місяців тому
Не вздумай, он скоро умрёт))
@mykhalex
@mykhalex 5 місяців тому
@@P7Vagrant про него так уже лет 15 говорят...
@P7Vagrant
@P7Vagrant 5 місяців тому
@@mykhalex думаю что вот вот скоро точно умрёт)
@alexblack43
@alexblack43 5 місяців тому
@@mykhalexтак то, которое было 15 лет назад, оно уже и умерло... Это уже что-то совсем отличное от php 5.
@ronbarhash
@ronbarhash 5 місяців тому
следующая итерация, это когда в массиве индекс может быть числом с плавоющей запятой ... тогда можно будет записывать функции f[x*9.8]=m*c*c :)
@lexxkrt
@lexxkrt 5 місяців тому
а че щас нельзя? к стрингу результат приведи вот тебе и плавающий индекс
@ronbarhash
@ronbarhash 5 місяців тому
@@lexxkrt Я ВООБЩЕ ТО ШУТИЛ))) использование отрицательных индексов в принципе ШЛЯПА) но не удивлюсь если и другие языки подхватят эту идею))) люди любят в ЯП тянуть всякий "сахарный калл"))
@lexxkrt
@lexxkrt 5 місяців тому
лучше бы генераторы списков как в питоне сделали, вроде были предложения но почему то игнорируют
@alexander_stark
@alexander_stark 5 місяців тому
последний раы когда обращался к рнр было 5.3 ...
@CutCodeRu
@CutCodeRu 5 місяців тому
как считаете, большие изменения произошли с тех пор?
@ronbarhash
@ronbarhash 5 місяців тому
я на 4й еще писал, изменения большие, но возвращаться в Пыху нет желания ... глобальная тенденция перехода к строгой типизации убивает весь смысл и душу таких языков, таже фигня с JS когда все ринулись писать на TypeScript ... все это полная хрень, т.к. это не решает проблемы, а лишь ее размывает, делая иллюзию надежности и защищенности.... @@CutCodeRu
@user-wf3ud1dq9f
@user-wf3ud1dq9f 5 місяців тому
вообще по уму в пхп пора продумывать линейку для разработки и отдельно для продакшена. Например в рамках разработки при написании тестов хорошр было б снять ряд ограничений такие как финализация, реадонли и предусмотреть возможность создания моков на програмном уровне. phpunit это делает засчет большого кастыля (парсинг класса и на его основе создание нового через eval) и то если класс или методы не зафинализированы.
@ronbarhash
@ronbarhash 5 місяців тому
"по уму" ПХП надо уже давно закопать....
@aleksandrtm6163
@aleksandrtm6163 5 місяців тому
@@ronbarhash а теперь "почему", скажете? ещё скажите что лучше питон в вебе использовать
@ronbarhash
@ronbarhash 5 місяців тому
@@aleksandrtm6163 потому, что в него начали пихать всякую дичь, пытаясь из "специализированного языка" сделать его языком "общего назначения" загубив его "зюминку" за которую его полюбили. При чем тут питон? вы видимо не слышали о Руби и его Рельсах :) у каждого языка есть своя ниша и свой жизненный цикл ))) вы к примеру. видели что сделали с С++? это адская хрень :) и есть люди которые ВЭБ на плюсах делают (CMSки) каждый извращается в меру своей распущенности :)
@vatakiller
@vatakiller 5 місяців тому
Не понятно зачем внедрили типизацию констант. Переопределение констант нужно вообще из PHP выпилить (константы не должны обладать вариантностью, пример: интерфейсы), а они типы какие-та для них внедряют.
@alexhaha
@alexhaha 5 місяців тому
Так как пхп это цирк с типами то соглашусь, а так задел на будущее
@igor-voyt
@igor-voyt 5 місяців тому
константы и не переопределяются, если что. На то они и константы. А типизация думаю для удобства и подсказок IDE, например, при сравнении class A { public const bool BOOLEAN_CONST = true; } if (1 === A::BOOLEAN_CONST) { // do stuff }
@aleksandrtm6163
@aleksandrtm6163 5 місяців тому
@@igor-voyt тоже прочитал и такой "чтоооо", так и пишут код потом )))
@vatakiller
@vatakiller 5 місяців тому
@@igor-voyt ну вообще-то переопределяются (за исключением интерфейсных). Типизацию добавили как раз для того, чтобы нельзя было изменить тип переопределением (об этом прямо указано в RFC).
@igor-voyt
@igor-voyt 5 місяців тому
@@vatakiller а, речь наверное про наследование. Тут Вы правы.
@supram941g5
@supram941g5 5 місяців тому
Изменение клонированного ридонли объекта выглядит как путь в ад, надо будет почитать почему на это согласились...
@user-wf3ud1dq9f
@user-wf3ud1dq9f 5 місяців тому
скорей всего в целях написания тестов .
@MegaWebdev
@MegaWebdev 5 місяців тому
Вообще там readonly является только свойство - класс php, но в этом классе его свойство version не является readonly, поэтому видимо допустимо? Мы же не подменяем само readonly свойство php целиком, а только вложенное в php свойство version ... но выглядит вообще крипово, нужно посмотреть как оно на деле работает
@lexxkrt
@lexxkrt 5 місяців тому
так что из полезного? вроде ничего
@dimazak
@dimazak 5 місяців тому
ну, общий прогресс есть -- уже хорошо ж. дают понять, что живее всех живых. * знач, и мы, "артисаны", будем жить :)
@ronbarhash
@ronbarhash 5 місяців тому
а что вы пишите на ПХП полезного? "вы разве не пользуетесь отрицательными индексами? тогда мы 'выезжаем за вами'" (с)
@lexxkrt
@lexxkrt 5 місяців тому
@@ronbarhash никогда не использовал отрицательные индексы, я даже не знал что их можно использовать, всегда думал что с нуля начинается нумерация. даже не представляю задачи где можно отрицательные индексы использовать
@litvinenkow
@litvinenkow 5 місяців тому
не сильно она там конечно возрасла производительность, но в целом всё так, коммент просто чтобы был)
@CutCodeRu
@CutCodeRu 5 місяців тому
Спасибо!
@akhmetnovruzov3184
@akhmetnovruzov3184 5 місяців тому
Спасибо за обзор!
@xPraSx
@xPraSx 5 місяців тому
Спасибо за обзор!
PHP 8 3 Released
11:03
ThePrimeTime
Переглядів 95 тис.
skibidi toilet 73 (part 2)
04:15
DaFuq!?Boom!
Переглядів 30 млн
PHP 8.0 - 8.2 | Производительность и фичи
18:19
R class Tech
Переглядів 14 тис.
WebStorm 2024.1 EAP/3 review | WebStorm News | ENG Subtitles
6:54
alex lumper
Переглядів 1,2 тис.
Атрибуты в PHP. Какую пользу даёт применение attributes
16:23
Просто о Laravel. CutCode
Переглядів 7 тис.
JIT в PHP 8: Просто о сложном
19:26
Andrey Lozunov - Fullstack Web Developer
Переглядів 13 тис.
PHP 8.0, 8.1 и 8.2: новые фишки. Готовимся к laravel 10
6:46
Просто о Laravel. CutCode
Переглядів 11 тис.
Почему все ненавидят PHP?
7:36
Sergey Nemchinskiy
Переглядів 137 тис.
PHP 8.1: enums. Что это такое и с чем их едят?
52:37
Глазами фрилансера
Переглядів 3,8 тис.
What's new in PHP8.1??
31:01
The Codeholic
Переглядів 17 тис.