Description
In this course, you will learn :
- How to create web applications using a framework such as Symfony or Laravel
- Discover all of the details that a framework keeps hidden from you.
- When you understand how something works, you will be able to troubleshoot it more effectively.
Syllabus :
1. Serving Resources
- Serving an HTML File with the Built-In Web Server
- Adding a Favicon
- Security Announcement
- Communication between the Browser and the Server
2. Serving PHP Scripts
- Dynamic Resources
- The Response: Status, Headers, and Body
- Constructing a Response
- Linking to Other Pages
- Passing Values between Requests
- Security Announcement
3. Forms
- Submitting Form Data as Query Parameters
- Security Announcement
- Adding a Select Element to the Form
- Submitting Data via the Request Body: POST Requests
- Submitting Data via the Request Body: Reviving Functionality
4. Cookies
- Purpose of Using Cookies
- Setting a Cookie
- Using a Cookie
- Cookies Are Headers
- Redirecting after Processing a POST Request
- Security Announcement
- Challenge 1: Showing "Congratulations!"
- Solution: Showing "Congratulations!"
5. Sessions
- Using Sessions for Storing User Data
- Session Files and Serialized Data
- Flash Messages
- Using Flash Messages Everywhere
6. Authentication
- Authenticating Users
- A Secret Page
- Setting Up a Login Form
- Process of Verifying Users
- Validating the Username and the Password with PHP
- Logging out
7. PHP Project Structure
- Header and Footer Snippets
- Passing Variables to Snippets
- Flash Messages Revisited
- Bootstrapping
- From .html to .php
- Adding Navigation
- Adding a Stylesheet
- Routing: Mapping URLs
- Routing: Displaying the Not Found Error
- Project Challenge: Create a Task Management Application
- Project Solution: Create a Task Management Application
8. CRUD : Create
- Saving JSON-Encoded Data in a File
- Adding a Tour
- Form Validation
- Showing the Submitted Data in the Form
- Listing Tours
- Project Challenge: Create and List Tasks
- Project Solution: Create and List Tasks
9. CRUD : The Rest
- Identifying Tours to Edit
- Introducing Some Reusable Elements
- Editing Tour Data
- Deleting Tours: Implementing Soft-Deletion
- Deleting Tours: Challenges of Soft-Deletion
- Project Challenge: Edit and Delete Tasks
- Project Solution: Edit and Delete Tasks
10. File Uploads
- Adding a Details Page
- Uploading a File
- Processing the File Upload
- Showing the Uploaded Picture
- Replacing the Existing Image
- Form Validation for File Uploads
11. Error Handling
- Producing an Error
- Using Different Configuration Settings in Production
- Displaying an Error Page
- PHP Errors
12. Automated Testing
- Setting Up the Environment
- A First Test
- Creating Our First Browser Test
- A Test for The Pictures Page
- Writing Tests for the Tours: Create a New Tour
- Writing Tests for the Tours: Edit a Tour
- Troubleshooting and Suggestions
- Project Challenge: Create Tests
- Project Challenge: Solution