Learn modern PHP

A curated list of resources for PHP

Table of Contents

Must read

Tutorials

Books

Online Course

Reference

The basics

PHP Basics

The LAMP stack

HTML / HTML 5

CSS

JavaScript

Protocols

Local Development Environments

Tools

IDEs

Frameworks and libraries

Frameworks

Micro Frameworks

Libraries

Templates

OOP

Object-oriented programming

“Write shy code -
modules that don’t reveal anything unnecessary to other
modules and that don’t rely on other modules’ implementations.”

Design patterns

SOLID

SOLID is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible and maintainable

Dependency injection

Best Practices

KISS

Simplicity is prerequisite for reliability.
— Edsger W. Dijkstra

YAGNI

You Ain’t Gonna Need It

DRY

“DRY ‐ Don’t Repeat Yourself
Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system.”

DRY is about having one source of truth. It’s not about frantically eradicating duplication from your codebase.

Other

Model-View-Controller

Most frameworks in PHP follow some sort of MVC structure. The theory is simple:

The user interfaces with the view, which passes information to a controller. The controller then passes that information to a model (layer), and the model passes information back to the controller. The controller effectively stands between the view and the model. (Brandon James Savage)

Database

Database basics

Relational database management system (RDBMS)

Database books

Database normalization

Bad programmers worry about the code. Good programmers worry about data structures and their relationships.

Prepared Statements

Database libraries

Database tools

NoSQL

Standards

Follow common PHP conventions for object-oriented code, and established industry best practices: PSR-1, PSR-12, PSR-4.

Errors and exception handling

Debugging

Unit testing

“Software testers do not make software; they only make them better.” – Anonymous

Documentation

Not commenting your code when you are a programmer should be illegal - @RiaCorpeno

PHPdoc is intended for documenting your code. The intention is that you always add comments to your parameters and return types in docblocks that describe what they do. There is software that can read in your code and produce documentation in pdf or HTML format that describes all your classes and functions as well as what they do and how to use them. It is a system for inline documentation as the name indicates.

Sessions

Text translations

Regular Expressions

XML

API

RESTful API

SOAP API

Version control

Security

A good programmer looks both ways before crossing a one-way street.

Architecture

Domain Driven Design (DDD)

Hexagonal Architecture

Functional Programming

Continuous integration (CI) and Continuous Delivery (CD)

Magazines

Merchandise

Community / News