PHP

PHP course — Prowid
Course duration
5 months / 40 lessons
Individual
Per month 200 AZN
Group
Per month 150 AZN
Paying for the full course in a group
15% discount
Installments
50/50
Subscription
from 30 AZN a month
PHP is one of the most widely used languages for the server side of web applications: it powers WordPress, Laravel and thousands of websites. The course is built on PHP 8.

Enrollment for a new group is open — send a request to reserve your seat

Lessons are taught live in Azerbaijani and Russian.

Or study on your own in your personal account → with a subscription from 30 AZN a month

Course Curriculum

Setting up the environment: PHP 8, local server, VS Code
PHP basics: variables, types, operators
Conditionals, loops and match
Functions: type declarations, arrow functions, named arguments
Working with arrays and strings
HTTP and forms: GET, POST, validation
Cookies, sessions and HTTP headers
Working with the file system and file uploads
SQL and MySQL basics
PDO: secure database access and prepared statements
Hands-on project: an online store
OOP: classes, interfaces, traits, abstract classes
What's new in PHP 8: enums, readonly, attributes, property hooks
Namespaces, Composer and autoloading (PSR-4)
Exceptions and error handling
Coding standards (PSR) and static analysis (PHPStan)
Design patterns
MVC architecture: building our own mini-framework
Building REST APIs and JSON
cURL and integrating with external APIs
Regular expressions
Sending e-mail (PHPMailer)
Security: SQL injection, XSS, CSRF, password hashing
Testing: PHPUnit and Pest
Final project and moving on to Laravel
How do we teach?

Learning stages

01

Webinar

Students join the lesson live. At the end of each lesson, students are sent a video recording of the class.

02

Homework

Every assignment is based on the topic covered in the webinar. Homework helps you reinforce the material and understand it better.

03

Working with a mentor

The teacher stays in touch with the group both during the course and outside class. Any questions get answered right away.

04

Portfolio

During the course you'll complete several projects on different topics — they'll show employers what you can do.

Self-paced learning

The full curriculum in your personal account

144 topics with theory, examples and practice. The first 4 are free, the rest come with a subscription. Interactive lessons with slides and coding trainers: 129.

Introduction: PHP and the Web5 topics
  1. How the Web Works: Client, Server, HTTP Request and Response
  2. What Is PHP: Interpreter, Web Server and PHP-FPM
  3. Installing PHP: XAMPP, Laragon, Docker and the Built-in Server
  4. First Script: <?php Tags, echo, Comments and PHP Inside HTML
  5. Configuring php.ini, phpinfo() and Displaying Errors
Language Basics: Variables, Types and Operators8 topics
  1. Variables and Constants: Naming, Assignment, define and const
  2. Data Types: int, float, string, bool, null and Type Checking
  3. Explicit Type Casting: (int), intval() and settype()
  4. Type Juggling and Comparisons: == vs ===
  5. Arithmetic and Assignment Operators
  6. Comparison, Logical and Spaceship Operators
  7. Ternary, ?: and the Null Coalescing Operator ??
  8. Console Input: readline(), STDIN and $argv
Conditionals and Loops6 topics
  1. Conditionals: if, else, elseif and Early Exit
  2. The switch Statement: case, break, default and Its Pitfalls
  3. The match Expression: Strict Comparison and UnhandledMatchError
  4. while and do-while Loops
  5. The for Loop, Nested Loops, break and continue
  6. Project: Console Calculator and Unit Converter
Strings and Numbers6 topics
  1. Strings: Quotes, Escaping, Interpolation, Heredoc and Nowdoc
  2. Basic String Functions: Length, Case, Trimming and Padding
  3. Search and Replace: str_contains, strpos, substr and str_replace
  4. Formatting Output: printf, sprintf and number_format
  5. Unicode and mb_* Functions: Handling Non-Latin Letters
  6. Numbers and Math: Float Precision, Rounding and random_int
Arrays9 topics
  1. Arrays: Indexed and Associative, Keys and Values
  2. Iterating Arrays: foreach over Values, Keys and by Reference
  3. Multidimensional Arrays: Tables, Nested Structures and array_column
  4. Destructuring and Spread: list(), [...] and the ... Operator
  5. Merging and Slicing Arrays: array_merge, +, array_slice and array_splice
  6. Searching and Comparing Arrays: in_array, array_search, array_unique, array_diff
  7. Sorting Arrays: sort, asort, ksort, Flags and array_multisort
  8. Strings and Arrays: explode, implode, str_split and str_getcsv
  9. Project: Grade Book with Arrays
Functions12 topics
  1. Functions: Declaration, Parameters and return
  2. Parameter and Return Types: Nullable, Union, void and never
  3. Strict Mode declare(strict_types=1) and TypeError
  4. Parameters: Default Values, Named Arguments and Variadics
  5. Scope, Static Variables and Passing by Reference
  6. Anonymous Functions and Closures: use by Value and by Reference
  7. Arrow Functions, the callable Type and First-Class Callables
  8. Array Callbacks: array_map, array_filter, array_reduce and array_find
  9. Custom Sorting: usort, uasort, uksort and <=>
  10. Recursion: Base Case, Trees and Nested Menus
  11. Including Files: include, require, *_once and Code Organization
  12. Project: Password Generator and Text Analyzer
Dates, Regular Expressions and JSON6 topics
  1. Date and Time: Timestamps, date() and DateTimeImmutable
  2. Intervals and Time Zones: DateInterval, DatePeriod and Asia/Baku
  3. Regular Expressions: Pattern Syntax and preg_match
  4. preg_* Functions: Finding All Matches, Replacing and Splitting
  5. JSON in PHP: json_encode, json_decode and Error Handling
  6. Project: JSON-Based Events Calendar
Forms and HTTP7 topics
  1. Superglobals and GET Requests: $_SERVER, $_GET and URL Parameters
  2. POST Forms: Submitting Data, Array Fields and the PRG Pattern
  3. Form Validation: Required Fields, Formats and Error Messages
  4. Filtering and Escaping: filter_var, filter_input and htmlspecialchars
  5. HTTP Headers, Status Codes and Redirects
  6. File Uploads: $_FILES, move_uploaded_file and Limits
  7. Project: Loan Calculator with a Payment Schedule
Files, Cookies and Sessions7 topics
  1. Reading and Writing Files: file_get_contents, file_put_contents and file()
  2. File Streams: fopen, fgets, fwrite and flock
  3. Working with CSV: fgetcsv, fputcsv, Importing and Exporting Data
  4. Directories and the File System: scandir, glob, mkdir and Safe Paths
  5. Cookies: setcookie, Lifetime and Security Options
  6. Sessions: session_start, $_SESSION and Flash Messages
  7. Project: File-Based Guestbook
OOP Fundamentals9 topics
  1. Classes and Objects: Properties, Methods, $this and the ?-> Operator
  2. Constructors, Property Promotion and Typed Properties
  3. Encapsulation: public, protected, private and Object Invariants
  4. Static Properties and Methods, Class Constants and self::
  5. Inheritance: extends, Method Overriding, parent:: and final
  6. Abstract Classes and Methods: The Template Method
  7. Interfaces, Polymorphism and instanceof
  8. Traits: Code Reuse and Conflict Resolution
  9. Project: OOP Shopping Cart
Advanced OOP and Exceptions11 topics
  1. Enums: Pure and Backed Enums, Methods and match
  2. readonly Properties and Classes: Immutable Value Objects
  3. Property Hooks and Asymmetric Visibility in PHP 8.4
  4. Magic Methods and Cloning: __toString, __get, __call, __invoke, __clone
  5. Late Static Binding: static:: vs self::
  6. Generators and Iterators: yield, IteratorAggregate and Collections
  7. Attributes and the Reflection API
  8. Exceptions: throw, try, catch and finally
  9. The Throwable Hierarchy: Error, Exception and SPL Exceptions
  10. Custom Exceptions: Hierarchy, Context and the previous Chain
  11. Global Error Handling: Handlers, Strategy and error_log
Namespaces, Composer and Packages9 topics
  1. Namespaces: namespace, use and Aliases
  2. Class Autoloading: spl_autoload_register and PSR-4
  3. Composer: composer.json, require, vendor and Autoloading
  4. Package Versions: SemVer, composer.lock, install and update
  5. PSR Standards and Code Quality: PER Coding Style, PHP-CS-Fixer, PHPStan
  6. App Configuration: .env, phpdotenv and Secrets
  7. Logging with Monolog: Channels, Handlers and PSR-3 Levels
  8. Sending Emails: PHPMailer, SMTP and HTML Emails
  9. Project: Contact Form with Validation and Email Delivery
Databases: MySQL and PDO8 topics
  1. MySQL for PHP Developers: Tables, Types and CRUD Queries
  2. Table Relationships: Foreign Keys, JOIN and Indexes
  3. Connecting with PDO: DSN, Options and Error Handling
  4. Prepared Statements: prepare, execute, Placeholders and SQL Injection
  5. Fetching Results: fetch, fetchAll, fetchColumn and Fetch Modes
  6. CRUD with PDO: Create, Read, Update, Delete and Pagination
  7. Transactions: beginTransaction, commit, rollBack and Locking
  8. Project: PDO Blog with Categories and Tags
Web Application Security8 topics
  1. XSS: Cross-Site Scripting and Context-Aware Escaping
  2. CSRF: Cross-Site Request Forgery and Tokens
  3. SQL and Other Injections: Allowlists, OS Commands and Path Traversal
  4. Storing Passwords: password_hash, password_verify and Rehashing
  5. Session and Login Security: Fixation, Hijacking and Brute Force
  6. Secure File Uploads: MIME Types, Extensions and Storage Outside Web Root
  7. Security Headers, HTTPS and the OWASP Top 10 Checklist
  8. Project: Registration and Login System
REST APIs and HTTP Clients7 topics
  1. REST Principles: Resources, HTTP Methods and Status Codes
  2. A JSON API in Plain PHP: Request Body, Responses and CORS
  3. API Routing: Front Controller, Methods and Path Parameters
  4. API Validation and Authentication: Tokens, JWT and Rate Limiting
  5. cURL: Calling External APIs from PHP
  6. The Guzzle HTTP Client: Requests, Exceptions, Retries and PSR-18
  7. Project: REST API for a Task List
Architecture: MVC, DI and Design Patterns11 topics
  1. MVC Architecture: Project Structure and the Request Lifecycle
  2. An MVC Router: The Router Class, Controllers and Named Routes
  3. Request and Response Objects and the Middleware Pipeline
  4. Views and Templates: Layouts, Partials and Auto-Escaping
  5. Models and the Data Layer: Active Record, Data Mapper and Query Builder
  6. SOLID Principles with PHP Examples
  7. Dependency Injection and a DI Container with Autowiring
  8. Creational Patterns: Singleton, Factory and Builder
  9. Strategy, Observer and Decorator Patterns
  10. The Repository Pattern and the Service Layer
  11. Project: A Mini MVC Framework
Testing and Debugging5 topics
  1. Debugging with Xdebug: Breakpoints, Stepping and Profiling
  2. PHPUnit: First Unit Tests and Assertions
  3. PHPUnit: Data Providers, Fixtures and Test Doubles
  4. Pest: Modern Test Syntax, Expectations and Datasets
  5. Integration Tests and TDD: Databases and HTTP Endpoints
Performance, Deployment and Final Project10 topics
  1. Caching: File Cache, APCu, Redis and HTTP Caching
  2. PHP Performance: OPcache, JIT and Finding Bottlenecks
  3. CLI Scripts: getopt, I/O Streams and Exit Codes
  4. Background Jobs: cron, Run Locks and Job Queues
  5. Deploying to Shared Hosting: Files, Database and Domain
  6. Deploying to a VPS: Nginx, PHP-FPM, HTTPS and Automation
  7. Final Project, Stage 1: Designing an Online Store or CMS
  8. Final Project, Stage 2: Catalog, Cart and Checkout
  9. Final Project, Stage 3: Admin Panel, API, Tests and Deployment
  10. What's Next: Moving to Laravel and Symfony

Group and individual classes include a teacher, homework review and a certificate. The subscription gives you materials, exercises and progress tracking at your own pace, without teacher feedback.

PHP course: how to enroll

Fill in the form and we will tell you the start date of the next group, the schedule and payment terms. Or come to a free trial lesson first.

WhatsApp