Тёмный

Static Methods in Laravel/PHP: When and How? 

Laravel Daily
Подписаться 144 тыс.
Просмотров 18 тыс.
50% 1

Опубликовано:

 

10 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 35   
@guccilive100
@guccilive100 Год назад
I don’t know if you are a kind of super hero for me, but each time when there’s something that blocks me or can’t understand… then booom!! here you are with a quick tips video about it. Can’t thank you enough… 🎉❤
@roberrt8386
@roberrt8386 Год назад
Static methods are great to initiate the class itself eg. ::fromValue
@roman_zabigaliuk
@roman_zabigaliuk Год назад
This is one of the topics where I feel immature. All my methods are static and I feel comfortable with it. And I uderstand that adult developers don't do that, and I need to step over myself once. Thak you for your reminder to me.
@fredvuni6240
@fredvuni6240 Год назад
I've been racking my brain over this concept since yesterday. Thanks!
@SussanRai
@SussanRai Год назад
Static method is good when it doesn't depend on any dependency injection
@dominiks5318
@dominiks5318 Год назад
😅 I think author doesn't use Mockery and don't have the knowledge how to properly test the application.
@guccilive100
@guccilive100 Год назад
@@dominiks5318I tried mockery on a static method and was getting error that method was call 0 time but expected 1 and when I changed to be not called then the error the method was called 0 time but expected 1🤷🏿‍♂️
@matrixlander85
@matrixlander85 Год назад
Great video with multiple examples
@giacomogaravaglia6742
@giacomogaravaglia6742 Год назад
use NON static method (/classes) if you need to inject it via dependency injection.
@OliverKurmis
@OliverKurmis 10 месяцев назад
You always say "initialize" the class, but you mean "instanciate" the class. A class instance is an object, a data structure bound to the class methods. The object can be initialized with the help of the special "__construct()" method. Using static functions there is no object, but just a call of a function.
@johnnyw525
@johnnyw525 10 месяцев назад
It’s really basic: Use static when the method (function) doesn’t need to belong to an instance of the class. Ie. Does the class need to be instantiated for the function to operate? You can mix and match perfectly fine. There’s no need to instantiate a class if you don’t need to.
@AndyTalbot
@AndyTalbot Год назад
Are they in any way better for performance? I tend to avoid them, and watching through the video it felt like you would generally too, but then you gave some very interesting examples at the end, and now I'm thinking of a few places in my projects where I could in theory use them.
@LaravelDaily
@LaravelDaily Год назад
No, you wouldn't feel the performance difference
@johnnyw525
@johnnyw525 10 месяцев назад
@@LaravelDailyYou wouldn’t feel the difference, but why why instantiate a class when you don’t need to? 🤷‍♂️
@richardwheatley7194
@richardwheatley7194 Год назад
Why use them at all? What are the benefits?
@LaravelDaily
@LaravelDaily Год назад
No need to initialize classes manually if you don't want to
@LeTrolli
@LeTrolli Год назад
simple rule, do not use object just to call functions
@johnnyw525
@johnnyw525 10 месяцев назад
@@LaravelDailyYou say “initialise” but you mean “instantiate”: Create an object from the class. I’ve never heard “initialise” in this way before? Is it common?
@guccilive100
@guccilive100 Год назад
Does anyone can point me to how to mock a static class?
@LaravelDaily
@LaravelDaily Год назад
My tutorial specifically pointed out this reason of why NOT to use static classes. They are not mockable, maybe some tools are capable of it but I haven't done it
@ricohertha3537
@ricohertha3537 Год назад
@@LaravelDaily static methods
@free2idol1
@free2idol1 11 месяцев назад
If you want to mock static class, then it is better to first make that class as normal class (non-static), then make a facade class as a wrapper around that underlying class, then you can use mocking function provided by laravel to mock Facade.
@zkabadu
@zkabadu Год назад
Just don't mix and match static and non-static methods in service classes.
@johnnyw525
@johnnyw525 10 месяцев назад
You can mix and match.
@zkabadu
@zkabadu 10 месяцев назад
@@johnnyw525 yeah, you can, but you shouldn't.
@premce45
@premce45 8 месяцев назад
@@zkabadu Why ?
@zkabadu
@zkabadu 8 месяцев назад
@@premce45 I like to keep my classes consistent. Either I use the service class as a kind of utility class, then I would use static methods. Or I use dependency injection and then I will use non-static methods so I can access the injected dependencies. But I don't want to mix and match both responsibilities in one class.
@BlueJDev
@BlueJDev Год назад
All that useful information and explanation, then there's me looking at the last example wondering why the functions have $value parameter but use $this-name and not $value in the function... Lol Not even a $value ?? $this-name
@rs-nm7hp
@rs-nm7hp Год назад
thanks for this video @povilas
@paulfontaine7819
@paulfontaine7819 Год назад
4:00 "that may work but it does not feel clean too me. I'm just personally not a big fan" . Please instead keep explaining when it does not work. Add you say some people feel they should never use static at all and thankfully you explain when it can be used.
@spicynoodle7419
@spicynoodle7419 Год назад
Chads use __call and __callStatic without having to care :D
@ward7576
@ward7576 Год назад
Chads don't care about this shit, stops arguing about it online and just makes the product and beats you to the market ;)
@spicynoodle7419
@spicynoodle7419 Год назад
@@ward7576 your product will die because you wrote all of it in a single function lol
@ward7576
@ward7576 Год назад
@@spicynoodle7419 I see I hurt you there. Get some fabric softener, you'll feel better.
Далее
Refactor "Senior" PHP Code with Early Returns
12:09
Просмотров 26 тыс.
Laravel Security: Top 7 Mistakes Developers Make
11:16
Too "Fat" Model? Static Methods into Service
6:36
Просмотров 8 тыс.
Dev Jobs are being taken. But not by AI.
5:08
Просмотров 41 тыс.
Laravel Service Providers: All You Need to Know
13:13
Laravel + Service Pattern + DTOs = ❤️❤️❤️
17:52
The Tools I Use to Build Products in Laravel
19:00
Просмотров 27 тыс.