Skip to content
academia.sh

Course Advanced

Quality, Performance and Deployment in PHP

Published Updated

By the end of this course

Start course

01

Quality Tools

Static analysis, code style checking, testing frameworks and the debugger — each as a tool that shows whether a behavior is seen inside or outside the run and whether it ships to production.

  1. 01 Static Analysis Learn what tools that read code without running it can find, what they cannot, and how to measure whether a behavior reaches production with a single question.
  2. 02 Code Style Checking Measure that unformatted code runs the same in both profiles, that only a style checker reports it, and where a formatter can change the meaning.
  3. 03 Testing Frameworks Measure which profile an assert()-based check catches a failing assertion in, which profile lets everything pass, and why your own comparison helper works on both sides.
  4. 04 The Debugger Measure which profile shows the information seen while debugging, that is, the argument value in the exception trace, the warning text, and the call stack, and whether it reaches production.

02

Performance and Operations

The code cache, profiling, memory and connection management, the process manager and the web server, ini directives and the deployment workflow — each as a mechanism that decides whether a behavior stays the same between the development and production profiles.

  1. 01 Code Caching How PHP keeping bytecode in a cache hides file changes in production: when the new version at the same path arrives, and what invalidation solves.
  2. 02 Profiling Measuring in two profiles how many times a job calls each function and how much memory it holds: the counts stay the same, but the counting code can change with the profile.
  3. 03 Memory and Connection Management Measuring how a request stops when the memory limit is exceeded, when a connection object's destructor runs, and how a circular reference delays cleanup.
  4. 04 The Process Manager and the Web Server Measuring with the built-in web server who serves the requests and what worker processes do not share between requests: why state must be kept outside the process.
  5. 05 Configuration Tuning Measuring the seven directives on which PHP's development and production configuration files diverge: what hardening turns off, and whether it can be turned back on from code with ini_set().
  6. 06 The Deployment Workflow Release directories and the symbolic link switch when taking code to production: why the old version runs after an atomic switch, and which call brings the new version.

Final exam

Quality, Performance and Deployment in PHP — Final Exam

In preparation

This course's question bank is not complete yet. The exam opens here automatically once enough questions are added.

Start typing to search.

↑↓ ↵ Esc navigate · open · close