Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

PHP Apprentice

PHP Apprentice is a project for sharing knowledge about the PHP programming language. It is an online book that currently includes pages for learning the basics of PHP programming. PHP Apprentice is a work in progress so any constructive feedback is appreciated.


PHP Apprentice is built with Hugo. To build the site locally, clone the repository, install Hugo and run hugo server with a terminal in the project root. All of the site pages are written in Markdown and stored in the content directory. To create a new page, the hugo generator will use the default template to generate the markdown file in the content folder: hugo new


Moving forward, there are three sections I would like to add to the site:

  • Web
  • Database
  • Advanced

The web section will outline the basics of HTTP, how to handle requests and response and generating HTML.

The database section will cover PDO setup, fetching data and securely running queries.

Advanced will hold deeper PHP topics like traits, closures, Composer, auto-loading and namespaces.

If you would like to request a topic or see one section before another, feel free to open an issue.