Learn object oriented PHP

"I won't lie I've watched a lot of php OOP courses and this is the best!!"

Start
  1. Courses
  2. Learn object oriented PHP

WHAT'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.

Section: Chapter 1

1. Course Introduction (1:40)
2. Creating classes (5:08)
3. Class properties (6:28)
4. Class methods (8:02)
5. Method arguments (4:50)
6. Named arguments (6:28)
7. Constructors (8:16)
8. Constructor promoted properties (2:28)
9. Type hinting (11:25)
10. Class type declarations (7:59)
11. Return type declarations (4:15)
12. Next steps (0:29)

Section: Chapter 2

13. Introduction to inheritance (9:19)
14. Redundancy and duplication (8:57)
15. The 'extends' keyword (6:43)
16. Inheritance and constructors (6:01)
17. Inheritance challenge (4:53)
18. Overriding parent methods (4:31)
19. Introduction to visibility (3:10)
20. Protected properties (5:19)
21. Private properties (4:31)
22. Method visibility (3:21)

Section: Chapter 3

23. Encapsulation (9:53)
24. Typed properties (5:11)
25. Union types (7:59)
26. Static properties (8:10)
27. Static methods (4:01)
28. Class constants (6:03)
29. Abstract classes (4:46)
30. Abstract methods (5:06)
31. Interfaces (8:30)
32. Introduction to traits (8:18)

Section: Chapter 4

33. Combining traits and interfaces (7:36)
34. Traits and precedence (8:07)
35. Abstract methods in traits (9:14)
36. Static methods in traits (2:10)
37. Late static binding (8:52)
38. The 'final' keyword (7:03)
39. Introduction to Exceptions (7:14)
40. Try / catch blocks (4:51)
41. Exception subclasses (6:49)
42. Custom Exceptions (6:20)
43. finally blocks (4:46)
44. Error class (7:40)

Section: Chapter 5

45. __get magic method (5:27)
46. __set magic method (9:41)
47. __unset magic method (5:32)
48. __toString magic method (5:55)
49. __destruct magic method (3:50)
50. __call magic method (8:25)
51. __clone magic method (8:46)
52. __invoke magic method (3:15)

Section: Chapter 6

53. Introduction to namespaces (6:12)
54. Organizing using namespaces (5:59)
55. Introduction to autoloading (4:50)
56. Autoloading namespaced classes (5:18)
57. Introduction to composer (9:42)
58. Autoloading with composer (8:12)
59. Inspecting classes (13:25)
60. Inspecting class attributes (6:30)
61. Reflection API: ReflectionClass (10:17)
62. Reflection API: ReflectionMethod (9:07)

Section: Chapter 7

63. Single Responsibility Principle (10:35)
64. Composition (10:43)
65. Dependency Injection (7:01)
66. Polymorphism (6:29)
67. Callables Part One (8:19)
68. Callables Part Two (7:25)
69. Anonymous Classes (7:23)

Section: Chapter 8

70. Database Section Introduction (3:05)
71. Creating a MySQL Database (2:55)
72. The Singleton Pattern (8:23)
73. PHP Data Objects (PDO) (7:25)
74. PDO Queries Part 1 (7:19)
75. PDO Queries Part 2 (7:08)
76. Introduction to Object Relational Mapping (5:50)
77. ORM Setup (5:25)
78. Creating ORM Entity Classes (6:08)
79. Generating Schema SQL (2:30)
80. Entity Creation Practice (8:14)
81. Many to One Relationships (5:31)
82. Many to Many Relationships (7:05)
83. Querying using Entity Manager (11:09)

Section: Chapter 9

84. Introduction to Serialization (7:14)
85. Serializing Objects (5:07)
86. Unserializing Objects (3:26)
87. __sleep Magic Method (3:38)
88. __wakeup Magic Method (1:50)
89. __serialize Magic Method (4:24)
90. __unserialize Magic Method (6:29)
91. DateTime Class (6:07)
92. Comparing Dates (5:50)
93. Modifying Dates (3:59)

Section: Chapter 10

94. Array Access (9:54)
95. Introduction to the Iterator Interface (9:11)
96. Iterator Interface Part 2 (5:11)
97. Countable Interface (3:28)
98. IteratorAggregate (5:37)
99. ArrayObject (6:17)
100. Collection Class Part 1 (8:27)
101. Collection Class Part 2 (4:11)

Section: Chapter 11

102. Introduction to Testing (0:23)
103. PHPUnit Setup (7:45)
104. Testing Objects (7:22)
105. setUp Method (3:34)
106. Error Handling in Tests (6:31)
107. Introduction to Test Doubles (5:09)
108. Mocking a Dependency (8:49)
109. Introduction to Test Driven Development (8:53)
110. Improving a Test (2:10)
111. TDD Challenge (5:15)
112. Using Tests to Refactor (2:17)
113. Take Your Testing Further (0:51)

Section: Chapter 12

114. Design Patterns Setup (2:21)
115. Composite (9:04)
116. Decorator (15:48)
117. Adapter (8:22)
118. Strategy (13:02)
119. Observer (16:50)
120. Null Object (6:49)
121. Dependency Injection (14:52)
122. Service Locator (18:44)
123. Factory Method (6:49)
124. TBC (0:01)

Course Instructor

Image

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.