Module 1: PHP & MySQL (Sessions 1-15)
Session 1: Introduction to Backend Development
- Client-side vs Server-side programming.
- Overview of PHP and its role in backend development.
- Installing XAMPP/WAMP/MAMP (Windows/Linux/Mac).
- Setting up the local development environment.
- Writing your first PHP script.
Session 2: PHP Basics
- PHP syntax and semantics.
- Variables, data types, and operators.
- Printing functions (echo, print).
- Conditional statements (if, else, elseif, ternary operator).
- Hands-on: Build a simple PHP program (e.g., a calculator).
Session 3: Loops and Arrays
- for, while, and do...while loops.
- switch statements.
- Indexed, associative, and multi-dimensional arrays.
- Array manipulation: push, pop, sort, search.
- Hands-on: Create a dynamic list using arrays and loops.
Session 4: String Handling and Functions
- String manipulation: concatenation, searching, replacing.
- Regular expressions for pattern matching.
- Built-in PHP functions.
- Creating custom functions.
- Hands-on: Build a form validator using functions.
Session 5: PHP Superglobals and Forms
- Understanding $_GET, $_POST, $_REQUEST.
- Handling form data.
- File uploads and validation.
- Hands-on: Create a registration form with file upload.
Session 6: Cookies and Sessions
- What are cookies and sessions?
- Creating, accessing, and deleting cookies.
- Session management: $_SESSION, session ID, encoding/decoding.
- Hands-on: Implement a login system with sessions.
Session 7: Introduction to Databases
- What is a database? (DBMS, SQL, ERD).
- Introduction to MySQL and phpMyAdmin.
- Creating, altering, and dropping tables.
- Hands-on: Design a simple database schema.
Session 8: MySQL Basics
- DML: INSERT, UPDATE, DELETE.
- SELECT statements and filtering data.
- Sorting and aggregation functions (COUNT, SUM, AVG).
- Hands-on: Perform CRUD operations on a sample database.
Session 9: Advanced MySQL
- Joins: INNER JOIN, LEFT JOIN, RIGHT JOIN.
- Subqueries and nested queries.
- Indexing and optimization basics.
- Hands-on: Build a complex query for a reporting system.
Session 10: PHP and MySQL Integration
- Connecting PHP to MySQL using mysqli and PDO.
- Executing queries and fetching results.
- Preventing SQL injection.
- Hands-on: Build a dynamic blog with PHP and MySQL.
Session 11: Object-Oriented Programming (OOP) in PHP
- Introduction to OOP: classes, objects, properties, methods.
- Encapsulation, inheritance, polymorphism, abstraction.
- Hands-on: Create a class for user management.
Session 12: Advanced OOP and Autoloading
- Magic methods (__construct, __destruct, etc.).
- Namespaces and autoloading.
- Hands-on: Refactor the blog project using OOP.
Session 13: PHP AJAX and JSON
- Introduction to AJAX and JSON.
- Making AJAX calls with PHP.
- Handling JSON data in PHP.
- Hands-on: Build a live search feature using AJAX.
Session 14: MVC Design Pattern
- What is MVC? (Model, View, Controller).
- Building a simple MVC application from scratch.
- Hands-on: Refactor the blog project into MVC.
Session 15: Workshop 1 - Build a PHP Project
- Build a full-featured project (e.g., a task manager or simple CRM).
- Integrate all concepts: forms, sessions, databases, OOP, and MVC.
- Deploy the project locally.
Module 2: Laravel Framework (Sessions 16-30)
Session 16: Introduction to Laravel
- What is Composer? Installing Laravel.
- Laravel directory structure.
- Routing and views.
- Hands-on: Build a simple Laravel app.
Session 17: Laravel Blade Templates
- Introduction to Blade templating engine.
- Template inheritance and components.
- Hands-on: Create a reusable layout for a Laravel app.
Session 18: Laravel Controllers and Middleware
- Creating and using controllers.
- Middleware: concept and usage.
- Hands-on: Add authentication middleware to routes.
Session 19: Laravel Eloquent ORM
- Introduction to Eloquent.
- Defining models and relationships.
- CRUD operations with Eloquent.
- Hands-on: Build a blog with Eloquent.
Session 20: Laravel Authentication
- Setting up authentication.
- Customizing authentication logic.
- Hands-on: Add user registration and login to the blog.
Session 21: Laravel Forms and Validation
- Form handling in Laravel.
- Validation rules and custom error messages.
- Hands-on: Create a contact form with validation.
Session 22: Laravel API Development
- Introduction to RESTful APIs.
- API routes and controllers.
- Hands-on: Build a simple API for the blog.
Session 23: Laravel and AJAX
- Using AJAX with Laravel.
- Hands-on: Add live comments to the blog using AJAX.
Session 24: Laravel File Handling
- Uploading and storing files.
- Hands-on: Add a profile picture upload feature.
Session 25: Laravel Advanced Features
- Queues, jobs, and task scheduling.
- Events and listeners.
- Hands-on: Implement email notifications.
Session 26: Laravel Testing
- Introduction to PHPUnit.
- Writing tests for Laravel applications.
- Hands-on: Write tests for the blog.
Session 27: Workshop 2 - Build a Laravel Project
- Build a full-featured project (e.g., an e-commerce platform or CRM).
- Integrate all Laravel concepts: authentication, APIs, Eloquent, etc.
Session 28: Deployment and Hosting
- Domain vs hosting.
- Deploying Laravel applications.
- Hands-on: Deploy the e-commerce project.
Session 29: Final Project Planning
- Plan and design the final project (e.g., a dashboard or API for a mobile app).
- Break down tasks and set milestones.
Session 30: Final Project Presentation
- Present and review the final project.
- Q&A and feedback session.