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 tutorials:

    1. Dates and Time - The OOP Way

      Dates and Time - The OOP Way

      Tutorial Beginner

      The Date/Time PHP extension is a set of classes that allow you to work with almost all of the date and time related tasks. It's been available since the...

    2. Functional Programming in PHP

      Functional Programming in PHP

      Tutorial Intermediate

      The new hype in programming is all about functional programming paradigms. Functional languages are used more and more in greater and better applications....

    3. Xdebug - Professional PHP Debugging

      Xdebug - Professional PHP Debugging

      Tutorial Intermediate

      Our Agenda Introduction to the topic. Downloading and installing Xdebug on your local machine (Mac OS X 10.6.6+, MAMP 2.1.1). Integrating with...

    4. Building a CodeIgniter Web Application From Scratch

      Building a CodeIgniter Web Application From Scratch

      Tutorial Advanced

      The application we are creating will be a simple billboard, where users can register, post tasks, and offer a reward for its completion. Other users can see...

    5. A Look at the WordPress HTTP API: Saving Data From wp_remote_post

      A Look at the WordPress HTTP API: Saving Data From wp_remote_post

      Tutorial Intermediate

      In the previous post in the series, we began working on a small plugin that provided a practical example of wp_remote_post. The thing is, the example was...

    6. A Look at the WordPress HTTP API: A Practical Example of wp_remote_post

      A Look at the WordPress HTTP API: A Practical Example of wp_remote_post

      Tutorial Intermediate

      In the previous article, we reviewed the previous articles regarding GET requests, the native PHP facilities for making requests, and reviewed WordPress...

    7. Creating a Shortcode for Responsive Video

      Creating a Shortcode for Responsive Video

      Tutorial Beginner

      If you're anything like me, you use YouTube to host any video you add to your WordPress site. It saves worrying about browser or device compatibility, it...

    8. Heartbeat API: Using Heartbeat in a Plugin

      Heartbeat API: Using Heartbeat in a Plugin

      Tutorial Intermediate

      In this tutorial we're going to create a simple plugin which uses the Heartbeat API. Our plugin will alert logged in users, via a growl-like notification,...

    9. The Heartbeat API: Changing the Pulse

      The Heartbeat API: Changing the Pulse

      Tutorial Intermediate

      In the first part of this series we looked at the basics of the Heartbeat API, and how it can be implemented in a plugin. In this tutorial we'll be looking...

    10. A Look at the WordPress HTTP API: A Brief Survey of wp_remote_post

      A Look at the WordPress HTTP API: A Brief Survey of wp_remote_post

      Tutorial Intermediate

      In the first series on the WordPress HTTP API, we took a look at wp_remote_get. Specifically, we took a look at the following aspects of the API: A...

    11. The Heartbeat API: Getting Started

      The Heartbeat API: Getting Started

      Tutorial Intermediate

      With 3.6, aka "Oscar", just released, lets take a look at some of the new features that are available to developers. In particular, in this series I'll be...

    12. Applying Categories, Tags and Custom Taxonomies to Media Attachments

      Applying Categories, Tags and Custom Taxonomies to Media Attachments

      Tutorial Beginner

      Have you ever been frustrated by the fact that WordPress doesn't let you assign categories or tags to your images or uploaded media? Imagine how useful it...