Learn object oriented PHP
"I won't lie I've watched a lot of php OOP courses and this is the best!!"
Start courseWHAT'S COVERED IN THIS COURSE?
I combined research with lessons learnt from feedback that I received for my previous OOPHP stuff in order to come up with the best, most-relevant material for today's PHP developer.
Here is a list of the content that I cover. One of the main difference between this course and most others is that you are given the opportunity to practice what you've just been shown, followed by my solution. Students of my previous courses said that this was a very effective way for them to reinforce that knowledge...it just works.
Course content
Section 1Chapter 1
- Course Introduction1:40
- Creating classes5:08
- Class properties6:28
- Class methods8:02
- Method arguments4:50
- Named arguments6:28
- Constructors8:16
- Constructor promoted properties2:28
- Type hinting11:25
- Class type declarations7:59
- Return type declarations4:15
- Next steps0:29
Section 2Chapter 2
- Introduction to inheritancePremium9:19
- Redundancy and duplicationPremium8:57
- The 'extends' keywordPremium6:43
- Inheritance and constructorsPremium6:01
- Inheritance challengePremium4:53
- Overriding parent methodsPremium4:31
- Introduction to visibilityPremium3:10
- Protected propertiesPremium5:19
- Private propertiesPremium4:31
- Method visibilityPremium3:21
Section 3Chapter 3
- EncapsulationPremium9:53
- Typed propertiesPremium5:11
- Union typesPremium7:59
- Static propertiesPremium8:10
- Static methodsPremium4:01
- Class constantsPremium6:03
- Abstract classesPremium4:46
- Abstract methodsPremium5:06
- InterfacesPremium8:30
- Introduction to traitsPremium8:18
Section 4Chapter 4
- Combining traits and interfacesPremium7:36
- Traits and precedencePremium8:07
- Abstract methods in traitsPremium9:14
- Static methods in traitsPremium2:10
- Late static bindingPremium8:52
- The 'final' keywordPremium7:03
- Introduction to ExceptionsPremium7:14
- Try / catch blocksPremium4:51
- Exception subclassesPremium6:49
- Custom ExceptionsPremium6:20
- finally blocksPremium4:46
- Error classPremium7:40
Section 5Chapter 5
- __get magic methodPremium5:27
- __set magic methodPremium9:41
- __unset magic methodPremium5:32
- __toString magic methodPremium5:55
- __destruct magic methodPremium3:50
- __call magic methodPremium8:25
- __clone magic methodPremium8:46
- __invoke magic methodPremium3:15
Section 6Chapter 6
- Introduction to namespacesPremium6:12
- Organizing using namespacesPremium5:59
- Introduction to autoloadingPremium4:50
- Autoloading namespaced classesPremium5:18
- Introduction to composerPremium9:42
- Autoloading with composerPremium8:12
- Inspecting classesPremium13:25
- Inspecting class attributesPremium6:30
- Reflection API: ReflectionClassPremium10:17
- Reflection API: ReflectionMethodPremium9:07
Section 7Chapter 7
- Single Responsibility PrinciplePremium10:35
- CompositionPremium10:43
- Dependency InjectionPremium7:01
- PolymorphismPremium6:29
- Callables Part OnePremium8:19
- Callables Part TwoPremium7:25
- Anonymous ClassesPremium7:23
Section 8Chapter 8
- Database Section IntroductionPremium3:05
- Creating a MySQL DatabasePremium2:55
- The Singleton PatternPremium8:23
- PHP Data Objects (PDO)Premium7:25
- PDO Queries Part 1Premium7:19
- PDO Queries Part 2Premium7:08
- Introduction to Object Relational MappingPremium5:50
- ORM SetupPremium5:25
- Creating ORM Entity ClassesPremium6:08
- Generating Schema SQLPremium2:30
- Entity Creation PracticePremium8:14
- Many to One RelationshipsPremium5:31
- Many to Many RelationshipsPremium7:05
- Querying using Entity ManagerPremium11:09
Section 9Chapter 9
- Introduction to SerializationPremium7:14
- Serializing ObjectsPremium5:07
- Unserializing ObjectsPremium3:26
- __sleep Magic MethodPremium3:38
- __wakeup Magic MethodPremium1:50
- __serialize Magic MethodPremium4:24
- __unserialize Magic MethodPremium6:29
- DateTime ClassPremium6:07
- Comparing DatesPremium5:50
- Modifying DatesPremium3:59
Section 10Chapter 10
- Array AccessPremium9:54
- Introduction to the Iterator InterfacePremium9:11
- Iterator Interface Part 2Premium5:11
- Countable InterfacePremium3:28
- IteratorAggregatePremium5:37
- ArrayObjectPremium6:17
- Collection Class Part 1Premium8:27
- Collection Class Part 2Premium4:11
Section 11Chapter 11
- Introduction to TestingPremium0:23
- PHPUnit SetupPremium7:45
- Testing ObjectsPremium7:22
- setUp MethodPremium3:34
- Error Handling in TestsPremium6:31
- Introduction to Test DoublesPremium5:09
- Mocking a DependencyPremium8:49
- Introduction to Test Driven DevelopmentPremium8:53
- Improving a TestPremium2:10
- TDD ChallengePremium5:15
- Using Tests to RefactorPremium2:17
- Take Your Testing FurtherPremium0:51
Section 12Chapter 12
- Design Patterns SetupPremium2:21
- CompositePremium9:04
- DecoratorPremium15:48
- AdapterPremium8:22
- StrategyPremium13:02
- ObserverPremium16:50
- Null ObjectPremium6:49
- Dependency InjectionPremium14:52
- Service LocatorPremium18:44
- Factory MethodPremium6:49
- TBCPremium0:01
Course instructor
Gary Clarke
Hello and thank you so much for checking out my work. My name is Gary Clarke and I'm a software developer with many years experience, primarily in PHP. I started creating video tutorials during lockdown in 2020 because I wanted the challenge of being able to explain complex / technical subjects to others in a way which is easy to undertsand and remember.
At this moment in time, my videos have been watched nearly half a million times and I intend to keep creating new and improved content and teaching more and more new people. It would be my pleasure to see you on the inside of one of my courses.