Static Methods in Laravel/PHP: When and How?

  Рет қаралды 17,966

Laravel Daily

Laravel Daily

Күн бұрын

Пікірлер: 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
@fredvuni6240
@fredvuni6240 Жыл бұрын
I've been racking my brain over this concept since yesterday. Thanks!
@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.
@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
@OliverKurmis
@OliverKurmis Жыл бұрын
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.
@giacomogaravaglia6742
@giacomogaravaglia6742 Жыл бұрын
use NON static method (/classes) if you need to inject it via dependency injection.
@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 Жыл бұрын
@@LaravelDailyYou wouldn’t feel the difference, but why why instantiate a class when you don’t need to? 🤷‍♂️
@johnnyw525
@johnnyw525 Жыл бұрын
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.
@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 Жыл бұрын
@@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?
@zkabadu
@zkabadu Жыл бұрын
Just don't mix and match static and non-static methods in service classes.
@johnnyw525
@johnnyw525 Жыл бұрын
You can mix and match.
@zkabadu
@zkabadu Жыл бұрын
@@johnnyw525 yeah, you can, but you shouldn't.
@premce45
@premce45 10 ай бұрын
@@zkabadu Why ?
@zkabadu
@zkabadu 10 ай бұрын
@@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.
@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 Жыл бұрын
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.
@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
@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.
@rs-nm7hp
@rs-nm7hp Жыл бұрын
thanks for this video @povilas
13 Laravel Tips in 10 Minutes: October 2024
10:14
Laravel Daily
Рет қаралды 3,5 М.
Car Bubble vs Lamborghini
00:33
Stokes Twins
Рет қаралды 43 МЛН
Hoodie gets wicked makeover! 😲
00:47
Justin Flom
Рет қаралды 124 МЛН
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 1,9 МЛН
Refactor "Senior" PHP Code with Early Returns
12:09
Laravel Daily
Рет қаралды 27 М.
Exceptions in Laravel: Why/How to Use and Create Your Own
12:18
Laravel Daily
Рет қаралды 88 М.
Advanced Laravel: Service Container & Providers (Primitives)
6:06
Jordan Dalton
Рет қаралды 5 М.
Eloquent or Query Builder: When to Use Which?
5:48
Laravel Daily
Рет қаралды 88 М.
8 Career Tips from My 25 Years as Developer
12:08
Laravel Daily
Рет қаралды 3,5 М.
Laravel Eloquent: Deeper Relationships with One Query
10:37
Laravel Daily
Рет қаралды 143 М.
Laravel Controller Code: Move to Model, Service, Action or Job?
12:51
Laravel Daily
Рет қаралды 111 М.
Laravel Service Providers: All You Need to Know
13:13
Laravel Daily
Рет қаралды 67 М.
Junior Code Review: Laravel Routes, Middleware, Validation and more
19:57
4 Things To Do When Laravel App Goes Live
5:38
Laravel Daily
Рет қаралды 13 М.
Car Bubble vs Lamborghini
00:33
Stokes Twins
Рет қаралды 43 МЛН