Course PHP Pro

Computers and Laptop

PHP is a general-purpose open-source scripting language. PHP is specially designed for web development and its code can be embedded directly into HTML. PHP is easy to learn, but at the same time is able to meet the needs of professional programmers. During the course you will gain the knowledge necessary to create different types of websites, and after completing the course, the graduate can apply for the position of Junior PHP Developer.

COURSE OBJECTIVES

  • Learn the PHP language
  • Apply the gained knowledge and technologies in practice
  • Learn to work with OOP
  • Understand the PHP framework

COURSE SYLLABUS

Designing databases

  • Designing tables based on site requirements
  • InnoDB data storage systems: tables and links
  • One to One
  • One to Many
  • Many to Many

Working with built-in PDO classes

  • Classes and Objects
  • Working with PDO Classes
  • Properties and Methods
  • SQL Injection Defense

Fundamentals of OOP

  • Classes and Objects
  • Getters and Setters
  • Encapsulation
  • Inheritance
  • Namespaces
  • Autoloading
  • Statics
  • Constants
  • Interfaces
  • Abstract Classes

Working with Composer

  • Initializing composer
  • Loading dependencies

More about MVC

Working with databases based on ActiveRecord

  • Laravel Eloquent (Active Record)
  • Symfony Doctrine (Data Mapper)
  • Tables and Models
  • Organizing Links
  • Creating Complex Queries using QueryBuilder

Working with templates

  • Blade (Laravel) Twig (Symfony) Views
  • Creating a Base Template
  • Connecting page templates

Routing through the project

  • Organization of a single entry point
  • Connecting and Working with the Router
  • Regular expressions
  • Controllers and actions

Working with VCS version control systems

  • Creating a Local Git Repository
  • Connecting to a Remote GitHub/GitLab/BitBucket Repository
  • Basic Operations
  • How to work with GitFlow

Design Patterns

  • Factory, Factory Method
  • Adapter
  • Decorator
  • Strategy
  • Observer

SOLID Principles

  • The principle of sole responsibility
  • The principle of openness-closedness
  • Principle of substitution by Barbara Liskow
  • Principle of interface separation
  • Dependency inversion principle

Techniques for hacking and securing web applications

  • Creation and protection against SQL injection
  • CSRF attacks and protection by one-time token
  • XSS attacks and protection
  • Principles of password protection and updates

Advanced MySQL features

  • Indexing
  • Transactions
  • Triggers

Working with Docker

  • Images and Containers
  • Binding containers into a network
  • Running a project in a container
  • Building multiple containers with docker-compose

Testing code with PHPUnit

  • Creating a Unit test
  • Running multiple Unit-tests
  • TDD (test driven development) principles

To enroll in the course, fill out the form