Атрибуты в PHP. Какую пользу даёт применение attributes

  Рет қаралды 8,209

Просто о Laravel. CutCode

Просто о Laravel. CutCode

Күн бұрын

Пікірлер: 29
@Tavda
@Tavda 8 сағат бұрын
Давно использовал атрибуты в своём фреймворке-велосипеде. Потом заменил его на Symfony. Но сейчас потребовалось освежить память и этот ролик просто бомба для это цели, пусть даже и про Laravel.
@pavel3570
@pavel3570 5 ай бұрын
Всегда лайк ! Крутая подача , просто и без сахара ! Умение объяснять - это немаловажное умение, я бы сказал - дар ! Развивайте блог , это единственный канал к которому возвращаюсь каждый божий день
@CutCodeRu
@CutCodeRu 5 ай бұрын
Спасибо за такие слова!
@derwin22-w7l
@derwin22-w7l Жыл бұрын
очень аккуратно нужно работать с аттрибутами. Когда они появились - я провёл нагрузочное тестирование. С включенными аттрибутами через рефлексию - скорость ответа увеливается в 2 раза на каждые 500 RPS. С включенным opcache ситуация лучше - проблемы начинаются после 1000 одновременных запросов. Считаю, что проблема связана с тем, что рефлексия аттрибутов работает через постоянное чтение файлов. Через пол года я повторил тест на NVME - проблемы начинались после 1,5-1,7к RPS. Для админки интернет магазина кошачьих консервов - нормальное решение. На хайлоаде - не думаю.
@borisn879
@borisn879 Жыл бұрын
Рефлексия - это дорого!
@IvanBorzenkov
@IvanBorzenkov 10 ай бұрын
Так что, ларавел до сих пор не научился в кэширование метаданных? Как-бы эту проблему еще давно решили, когда на доктрин аннотациях сидели.
@dprhmk
@dprhmk Жыл бұрын
Интересно Впервые вижу эти атрибуты в php Иду читать об этом Спасибо
@CutCodeRu
@CutCodeRu Жыл бұрын
👌
@КонстантинКренский
@КонстантинКренский Жыл бұрын
Автор! Спасибо тебе большое! Теперь я понял!
@CutCodeRu
@CutCodeRu Жыл бұрын
🙏
@kamil19862307
@kamil19862307 Жыл бұрын
Спасибо! Намного понятнее становится, когда опытный человек объясняет.
@CutCodeRu
@CutCodeRu Жыл бұрын
😎
@borisn879
@borisn879 Жыл бұрын
Классический пример аттрибутов - реализация eventListener.
@denis_hromov
@denis_hromov Жыл бұрын
Чем больше мы имеем понятий, тем сложнее эти понятия поддерживать. (в данном случае предсказывать поведение основанное на атрибутах) Мне лично атрибуты вообще не нравятся, надеюсь такого не будет в laravel никогда. А за видос лайк
@CutCodeRu
@CutCodeRu Жыл бұрын
👌
@borisn879
@borisn879 Жыл бұрын
В Доктрине аттрибуты весьма удобные и к месту. Стало гораздо легче читать.
@ArmArt_studio
@ArmArt_studio Жыл бұрын
Здравстуйте, как в Муншайн реализованы мултиязычные модели? Есть где-то демо?
@CutCodeRu
@CutCodeRu Жыл бұрын
Зайдите в документацию, в раздел пакеты и там плагин по мультиязычности
@АлиАлиев-т5л
@АлиАлиев-т5л Жыл бұрын
А не нарушаем ли мы SOLID , когда у нас и валидация(через атрибуты), и создание модели, и роутинг в одном месте хранится ?
@CutCodeRu
@CutCodeRu Жыл бұрын
Нарушаем
@qoonmax
@qoonmax Жыл бұрын
Если реализация (реакция на атрибут), будет в сервисе SearchService, он занимается только поиском и ничем более, и там же меняет свое поведение если в клиентском коде над метод search установлен какой-то атрибут, разве это нарушение? У класса одна задача, работа с поиском, можно конечно сказать что он занимается тем что отслеживает состояние клиентского кода, и ищет атрибуты, но это можно делегировать другому классу.
@PhpProgrammer-lx4dz
@PhpProgrammer-lx4dz Ай бұрын
Они вообще что то жуткое, с точки зрения ООП лепят. И как такое тестировать еще. Класс модели, а они ему иконку (вид) прибодяживают. Вместо protected св-в, делают его открытым. А потом рефлексией открывают класс, чтобы его снаружи проанализировать, инкапсуляция нах#р. Короче еще одну гранату дали пхпшникам
@МаксимКучиров-е9г
@МаксимКучиров-е9г 9 ай бұрын
Я вот лично не понимаю моду на эти атрибуты. Я понимаю почему это удобно, но мне кажется, что это неоправданный оверхед очень большой. А я не люблю оверхеды.
@qoonmax
@qoonmax Жыл бұрын
А зачем создавать сам класс атрибута? Очевидно первым на ум приходит, это необходимость иметь класс, чтобы вызвать getInstance, и получить прокинутые параметры. Если только для этого, то такое себе. По сути это что-то вроде типа, он не несет никакой реализации. Если бы класс создавать не нужно было, в целом ничего не изменилось бы. Или мб я что-то не понял?
@borisn879
@borisn879 Жыл бұрын
Class добавляет строгости при указании аргументов, валидацию, логику?
@Mr.Capone-
@Mr.Capone- Жыл бұрын
Я поделился со всеми алкашами из 3го подъезда! Поехали)))) kzbin.info/www/bejne/nH-pq5mtgbJqaMU
@den-rad
@den-rad Жыл бұрын
Сейчас курю питон, и там есть классная вещь как декоратор - функция, которая оборачивает базовую функцию. Интересно, как бы такое сделать на PHP ?
@goriaev
@goriaev Жыл бұрын
так? function func2(callable $func1) { $func1(); echo 'site'; } func2(function () { echo 'www'; });
@echo9815
@echo9815 8 ай бұрын
Вобще не понял, откуда то icon взялся, какие то атрибуты только для метода
Дженерики в PHP
14:02
Просто о Laravel. CutCode
Рет қаралды 8 М.
Laravel API. All you need! Json Resource, Resource Collection, Cache, Rate Limit
21:23
Просто о Laravel. CutCode
Рет қаралды 32 М.
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 23 МЛН
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,4 МЛН
PHP Attributes 50 Minute Tutorial
50:12
Gary Clarke
Рет қаралды 10 М.
Все сложно в PHP 8.4...
9:20
Bonch dev
Рет қаралды 1,7 М.
JIT в PHP 8: Просто о сложном
19:26
Andrey Lozunov - Fullstack Web Developer
Рет қаралды 14 М.
Как использовать очереди (Queues/Jobs) в Laravel
13:46
Просто о Laravel. CutCode
Рет қаралды 23 М.
Отношение BelongsTo. Гайд по отношениям в Laravel
19:44
Просто о Laravel. CutCode
Рет қаралды 8 М.
LazyCollections и PHP генераторы. Как применять на практике
7:25
Открытое собеседование на PHP Мидл разработчика
36:30
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 23 МЛН