Static Methods in Laravel/PHP: When and How?

  Рет қаралды 18,149

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!
@matrixlander85
@matrixlander85 Жыл бұрын
Great video with multiple examples
@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🤷🏿‍♂️
@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.
@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.
@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.
@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 11 ай бұрын
@@zkabadu Why ?
@zkabadu
@zkabadu 11 ай бұрын
@@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.
@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.
@rs-nm7hp
@rs-nm7hp Жыл бұрын
thanks for this video @povilas
@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
@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.
Laravel Code Review: Why NOT Use Repository Pattern?
14:21
Laravel Daily
Рет қаралды 79 М.
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 39 МЛН
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 155 МЛН
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 19 МЛН
Top 5 Laravel "Bad Practices" (My Opinion)
10:32
Laravel Daily
Рет қаралды 24 М.
Exceptions in Laravel: Why/How to Use and Create Your Own
12:18
Laravel Daily
Рет қаралды 89 М.
Builder Design Pattern in Laravel 😱
29:53
TalksOnWeb
Рет қаралды 217
Static Properties & Methods In Object Oriented PHP -  Full PHP 8 Tutorial
12:58
What’s Up with Laravel? It’s Everywhere, and Here’s Why!
6:22
SOLID Principles in Laravel: 5 Examples (+ New Course!)
21:07
Laravel Daily
Рет қаралды 75 М.
Refactor "Senior" PHP Code with Early Returns
12:09
Laravel Daily
Рет қаралды 27 М.
Laravel Octane: supercharge your Laravel applications
8:34
Aaron Francis
Рет қаралды 49 М.
When to use Traits, Interfaces, and Abstract Classes in PHP
15:08
Andrew Schmelyun
Рет қаралды 24 М.
Why Don't We Have A Laravel For JavaScript?
12:36
Theo - t3․gg
Рет қаралды 112 М.