Learn PHP

If you want to be a web developer, you need to learn PHP. Read these free tutorials to master this powerful and popular scripting language.

Getting started with PHP

  • How to Build a Simple REST API in PHP

    How to Build a Simple REST API in PHP

    Sajal Soni
  • How to Use Sessions and Session Variables in PHP

    How to Use Sessions and Session Variables in PHP

    Sajal Soni
  • How to Upload a File in PHP (With an Example)

    How to Upload a File in PHP (With an Example)

    Sajal Soni
  • All PHP content:

    1. Setting Up User Authentication in Laravel Using Confide

      Setting Up User Authentication in Laravel Using Confide

      Tutorial Beginner

      Confide is an authentication solution for Laravel made to cut repetitive work involving the management of users. A DRY approach on features like account...

    2. From Beginner To Advanced in OpenCart: Configuration

      From Beginner To Advanced in OpenCart: Configuration

      Tutorial Beginner

      In the first part of the series, we took a look at how to get started by setting up OpenCart on our local development machine. In this part we are going...

    3. Taxonomy Archives: List Posts by a Second Taxonomy's Terms

      Taxonomy Archives: List Posts by a Second Taxonomy's Terms

      Tutorial Intermediate

      If your site uses multiple taxonomies to categorize information, it can be helpful to split up posts in a taxonomy archive by the terms of a second taxonomy....

    4. From Beginner To Advanced in OpenCart: Installation

      From Beginner To Advanced in OpenCart: Installation

      Tutorial Beginner

      In this series, we're going to be taking a look at OpenCart developers who consider themselves beginners to can level-up their skills in order to become more...

    5. The Starter's Guide for OpenCart: An Introduction

      The Starter's Guide for OpenCart: An Introduction

      Tutorial Beginner

      If you want to try an easy and full-featured popular web shop, OpenCart is the is a great option. For those who aren't familiar with the platform, we've...

    6. How To Display Post Meta Data on a WordPress Post

      How To Display Post Meta Data on a WordPress Post

      Tutorial Intermediate

      In my last series of articles, we looked at the concepts of object-oriented programming from the perspective of the beginner. The goal of the series was to...

    7. A BDD Workflow With Behat and Phpspec

      A BDD Workflow With Behat and Phpspec

      Tutorial Intermediate

      Follow along, while we walk through a real life example of how you can incorporate BDD into your daily workflow by using Behat and phpspec.

    8. Working With Databases in Symfony 2

      Working With Databases in Symfony 2

      Tutorial Beginner

      In the last video we learned how to validate and process form submissions in Symfony 2. But we didn't do anything with the submitted form data. Today, we'll...

    9. Form Validation in Symfony 2

      Form Validation in Symfony 2

      Tutorial Beginner

      Last time we created a reusable form in Symfony 2. Today, we'll build on to what we've learned, to now add form validation and form processing to our...

    10. Export and Import Products and Categories with Automatic SEO URLS in OpenCart

      Export and Import Products and Categories with Automatic SEO URLS in OpenCart

      Tutorial Intermediate

      What OpenCart lacks by default compared to other platforms such as Magento is the functionality of mass product import and export. This tutorial will show...

    11. Refactoring Legacy Code: Part 5 - Game's Testable Methods

      Refactoring Legacy Code: Part 5 - Game's Testable Methods

      Tutorial Intermediate

      Learn techniques for how to deal with complex and complicated unknown legacy code, how to understand it, and finally writing the Golden Master tests for...

    12. Working With Templates in Symfony 2

      Working With Templates in Symfony 2

      Tutorial Beginner

      Using Twig templates will help you to mix your PHP and HTML code together to provide you with dynamic, clean, readable, and maintainable view code. Let's begin!