No more legacy,
let's overcome the past and move toward the future!
Jung Sangwoo's "Awesome Laravel"
PHP 7+ Programming: Object-Oriented
This course is a "PHP 7+ Programming" course follow-up course. However, even if you haven't taken the previous course, you can follow along if you have basic knowledge.
Curriculum
Object-oriented programming, built-in classes, PSR, Composer, MVC (Model, View, Controller) - we cover the fundamentals needed to learn modern PHP. Once you complete the entire course, you'll be ready to start with the Laravel framework.
What is object-oriented programming?
Learn PHP object-oriented syntax. Study from the basics of classes and objects to various features added to modern PHP such as generators and reference expressions. We'll also discuss unique characteristics of the PHP language, including inheritance and contextual keywords.
Built-in classes, you should know at least this much!
『PHP 7+ Programming』 course covers content not discussed in the lectures, including Classes, DateTime, Directory, Reflection, SPL and other built-in classes used in PHP. Additionally, we'll explore interfaces such as Iterator, ArrayAccess. Of course, if you think this content is too lengthy, you can always review it later.
What are the PHP standard recommendations?
We'll learn about PSR(PHP Standard Recommendation). This is a recommendation discussed by PHP-FIG when doing PHP programming, and it includes content we need to know such as coding style (PSR-1, PSR-12), autoloader (PSR-4), etc. Therefore, we'll discuss this.
How long are you going to keep making and using it yourself?
Do we have to create all the code used on web pages ourselves? No, we don't. There are many wonderful open source packages created by various people around the world. We should actively use these.
Package manager, that is exactly Composer. Using this, you can use packages created by various users and utilize the Packagist registry. In this lesson, we will experience the benefits of using packages by using Whoops, one of the PHP packages.
Creating My Own Framework
Frameworks include multiple libraries and often provide project templates or structures for developers to use conveniently. We will configure it to focus on MVC (Model, View, Controller). Of course, we will not use any packages made by others here. The package we create here will be downloaded and used directly with Composer in the bulletin board project that will follow immediately after.
From functional to object-oriented
MVC(Model, View, Controller) and object-oriented programming will be actively used to transform the bulletin board project. Additionally, we will go through the process of downloading and directly applying the package created in 'Building My Own Framework'. However, the code will be written from scratch starting with index.php, and we have decided not to use existing code so that it can be followed even if you haven't taken the previous lectures.
Things you need before taking the course
The development server uses a built-in embedded server, but if needed, you can use tools like WAMP or refer to the PHP Manual.
- PHP 7.4.21 TS(Thread Safe) (64bit)
- XDebug 3.0.4 TS (64bit)
- Code Editor: We use VSCode(Visual Studio Code).
- Example code: Can be downloaded from the 『00 - Environment』 lecture.
The frontend uses UIkit CSS Framework and CKEditor 5 as the text editor.
Q&A
Since July 24, 2023, I have not been accepting questions about the course due to personal reasons. However, you can still review the Q&A that has been written over several years. I recommend looking for questions in the community.
Official Documentation & Books
Goodbye legacy,
Modern PHP fundamentals bible for beginners!
『PHP 7+ Programming』
Time to explore PHP 8, which appeared after 5 years
[Free] 『Learning PHP 8's New Features』