ݺߣ

ݺߣShare a Scribd company logo
Kilka slajdów o castowaniu
atrybutów w Eloquent
Miłosz Dziurzyński
Backend Developer
milosz@highsolutions.pl
Rozkład jazdy
● Wady / zalety
● Casts vs Mutators
● Przegląd gotowych casts
● Custom Casts
● Przykładowa implementacja
A komu to potrzebne?
Zalety
● Pełna kontrola nad atrybutami modelu
● Clean code
● Łatwa rozszerzalność dzięki Custom Casts
● Natywne wsparcie frameworka
Wady
● Dodatkowy narzut
Instrukcja obsługi
Casts vs Accessors/Mutators
Biblioteka casts
● integer
● real
● float
● double
● decimal:<digits>
● string
● boolean
● object
● array
● collection
● date
● datetime
● timestamp
● …
● AsArrayObject::class
● AsCollection::class
● AsStringable::class
● immutable_date
● immutable_datetime
● encrypted
● encrypted:array
● encrypted:collection
● encrypted:object
● enums
Laravel 7 Laravel 9
Przykładowe casts: AsStringable
Przykładowe casts: array i AsArrayObject
Przykładowe casts: collection i AsCollection
Przykładowe casts: enums
Custom Casts - jak zaimplementować?
● CastsAttributes
● Castable
● CastsInboundAttributes
Custom Casts - jak zaimplementować?
Custom Casts - jak zaimplementować?
Custom Casts - jak zaimplementować?
Custom Casts - jak zaimplementować?
Laravel Poland Meetup #22 - "Kilka slajdów o castowaniu atrybutów w Eloquent"
Przykładowa implementacja #0
Przykładowa implementacja #1
Przykładowa implementacja #2
Przykładowa implementacja #3
Przykładowa implementacja #4
Przykładowa implementacja #5
Czy nasze castowanie
zadziała?
Przykładowa implementacja #6
Przykładowa implementacja #7
Przykładowa implementacja #8
Przykładowa implementacja #9
Przykładowa implementacja #10
🎉
Pytania?
milosz@highsolutions.pl
Miłosz Dziurzyński

More Related Content

More from HighSolutions Sp. z o.o. (16)

Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"
Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"
Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"
Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"
Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...
Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...
Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #7 - "PWA - Progressive Web App"
Laravel Poznań Meetup #7 - "PWA - Progressive Web App"Laravel Poznań Meetup #7 - "PWA - Progressive Web App"
Laravel Poznań Meetup #7 - "PWA - Progressive Web App"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"
Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"
Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"
Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"
Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
HighSolutions Sp. z o.o.
How business and IT should cooperate with each other to verify business model...
How business and IT should cooperate with each other to verify business model...How business and IT should cooperate with each other to verify business model...
How business and IT should cooperate with each other to verify business model...
HighSolutions Sp. z o.o.
Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...
Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...
Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Creating chatbots with BotMan
Laravel Poznań Meetup #2 - Creating chatbots with BotManLaravel Poznań Meetup #2 - Creating chatbots with BotMan
Laravel Poznań Meetup #2 - Creating chatbots with BotMan
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Wykorzystanie FormRequest w Laravelu
Laravel Poznań Meetup #2 - Wykorzystanie FormRequest w LaraveluLaravel Poznań Meetup #2 - Wykorzystanie FormRequest w Laravelu
Laravel Poznań Meetup #2 - Wykorzystanie FormRequest w Laravelu
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Tworzenie chatbotów z BotMan
Laravel Poznań Meetup #2 - Tworzenie chatbotów z BotManLaravel Poznań Meetup #2 - Tworzenie chatbotów z BotMan
Laravel Poznań Meetup #2 - Tworzenie chatbotów z BotMan
HighSolutions Sp. z o.o.
Jak błędów unikać prowadząc własną firmę i jak ją rozwijać
Jak błędów unikać prowadząc własną firmę i jak ją rozwijaćJak błędów unikać prowadząc własną firmę i jak ją rozwijać
Jak błędów unikać prowadząc własną firmę i jak ją rozwijać
HighSolutions Sp. z o.o.
Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"
Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"
Dni Kariery - "Turkusowe organizacje. Nowoczesny styl zarządzania"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"
Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"
Laravel Poznań Meetup #8 - "Laravel czy lumen, oto jest pytanie"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...
Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...
Laravel Poznań Meetup #8 - "Laravel Telescope - niezastąpione narzędzie do de...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #7 - "PWA - Progressive Web App"
Laravel Poznań Meetup #7 - "PWA - Progressive Web App"Laravel Poznań Meetup #7 - "PWA - Progressive Web App"
Laravel Poznań Meetup #7 - "PWA - Progressive Web App"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"
Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"
Laravel Poznań Meetup #7 - "Laravel nova - czy to się w ogóle opłaca"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"
Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"
Laravel Poznań Meetup #6 - "Nowości w Laravel 5.7"
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
HighSolutions Sp. z o.o.
How business and IT should cooperate with each other to verify business model...
How business and IT should cooperate with each other to verify business model...How business and IT should cooperate with each other to verify business model...
How business and IT should cooperate with each other to verify business model...
HighSolutions Sp. z o.o.
Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...
Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...
Jak Biznes i IT powinny współpracować ze sobą by zweryfikować model biznesowy...
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Creating chatbots with BotMan
Laravel Poznań Meetup #2 - Creating chatbots with BotManLaravel Poznań Meetup #2 - Creating chatbots with BotMan
Laravel Poznań Meetup #2 - Creating chatbots with BotMan
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Wykorzystanie FormRequest w Laravelu
Laravel Poznań Meetup #2 - Wykorzystanie FormRequest w LaraveluLaravel Poznań Meetup #2 - Wykorzystanie FormRequest w Laravelu
Laravel Poznań Meetup #2 - Wykorzystanie FormRequest w Laravelu
HighSolutions Sp. z o.o.
Laravel Poznań Meetup #2 - Tworzenie chatbotów z BotMan
Laravel Poznań Meetup #2 - Tworzenie chatbotów z BotManLaravel Poznań Meetup #2 - Tworzenie chatbotów z BotMan
Laravel Poznań Meetup #2 - Tworzenie chatbotów z BotMan
HighSolutions Sp. z o.o.
Jak błędów unikać prowadząc własną firmę i jak ją rozwijać
Jak błędów unikać prowadząc własną firmę i jak ją rozwijaćJak błędów unikać prowadząc własną firmę i jak ją rozwijać
Jak błędów unikać prowadząc własną firmę i jak ją rozwijać
HighSolutions Sp. z o.o.

Laravel Poland Meetup #22 - "Kilka slajdów o castowaniu atrybutów w Eloquent"