PHP Everyday changelog

How this page works

This changelog tracks content updates, corrections, and structural changes across the site. Entries are grouped by month. Not every minor tweak gets a line item - mostly the things that affect what you see, read, or navigate.

If you notice something that looks wrong, check the contact page to report it.


February 2025

Content updates

  • PDO series - Revised the PDO Tutorial with clearer error mode explanations. Added a note about PDO::ERRMODE_EXCEPTION being the default in PHP 8.0+, which changes behavior if you were relying on silent failures (you should not have been, but here we are).
  • CodeIgniter form series - Updated the database configuration article with a note about connection array syntax differences between CI 2.x and 3.x. Several readers ran into this when working through the form tutorials.
  • Zend Framework login series - Fixed a misleading variable name in the authentication article. The $authAdapter example was using $adapter inconsistently between code blocks.
  • Smarty templates - Added version compatibility notes to the installation guide. Smarty 3 and Smarty 4 have different minimum PHP version requirements and the article now states those explicitly.

Series and navigation

  • Reorganized the series hub to show article counts per series. Makes it easier to estimate how much reading is ahead of you.
  • Added reading path suggestions to the articles hub. Instead of just listing articles alphabetically, the page now groups them into suggested sequences for common learning goals.

Infrastructure

  • Improved search indexing. Search results now weight article titles more heavily, so searching “PDO prepared” surfaces the prepared statements article first instead of every article that mentions PDO in passing.
  • Reduced CSS payload by consolidating duplicate media query blocks. No visual changes.

January 2025

Content updates

  • Drupal configuration series - Reviewed and updated all seven articles in the series. The caching article now includes notes about when Drupal’s built-in page cache is sufficient versus when you should look at external caching layers.
  • jQuery UI series - Updated the datepicker configuration article with a note about the dateFormat option versus the altFormat option. Several readers were confused about which one controls what the user sees versus what gets submitted in the form.
  • Facebook API series - Added deprecation notes to the API introduction article. Parts of the original Facebook Platform API covered in these articles have been superseded by the Graph API. The articles still explain the original concepts, but the deprecation notes help set expectations.

Corrections

Pack pages

  • Reviewed all ten pack pages for consistency. Each pack now follows the same structure: overview, numbered article list, checklist, and FAQ. Previously some packs had the checklist before the article list and others had it after.

December 2024

Content updates

  • PHP MySQL series - Updated the form insert data article with stronger warnings about SQL injection. The original example used string concatenation for query building, which is still shown (since that is what the article teaches you to move away from) but the “Common Mistakes” callout now appears earlier and is more prominent.
  • PHPMailer series - Revised the SMTP setup article to clarify the difference between SMTPSecure = 'tls' and SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS. The named constant is the recommended approach since PHPMailer 6.x.

New content

  • Added the PHP Email - Using Embedded Images in HTML Email article with a full walkthrough of CID-based inline image embedding. This is one of those topics that sounds simple until you realize every email client handles MIME boundaries slightly differently.

Site structure

  • Published the packs hub page. All ten packs are now accessible from the main navigation and grouped by framework on the hub page.
  • Updated the 404 page to include a search input and links to the most visited series. Previously it just said “page not found” with a link back to the home page, which was not very helpful.

November 2024

Content updates

  • ADOdb series - Reviewed all five articles. Added connection string examples for PostgreSQL alongside the existing MySQL examples. ADOdb’s whole point is database abstraction, so showing only MySQL examples felt incomplete.
  • Joomla MVC - Updated the MVC introduction article with a note about directory structure changes between Joomla 3 and Joomla 4. The core MVC concepts are the same, but file locations shifted.
  • Added “Series progress” indicators to article pages. When you are reading an article that belongs to a series, the left rail now shows which articles you have visited in the current session. This is tracked in memory only (no cookies, no persistent storage) and resets when you close the tab.
  • Improved mobile navigation. The hamburger menu now opens smoothly instead of popping in, and the series rail collapses into an accordion on screens narrower than 700px.

Corrections

  • Fixed a broken internal link in the Zend Framework Config article that pointed to a non-existent page. It now correctly links to the database input form article.
  • Corrected the code indentation in several CodeIgniter form articles. Tabs and spaces were mixed, which made copy-pasting into an editor produce inconsistent results.

October 2024

Infrastructure

  • Migrated to the current Hexo-based static site architecture. Page load times improved significantly compared to the previous setup.
  • Implemented client-side search using a build-time JSON index. Search results now appear as you type with no server round-trip.
  • Added security headers (X-Content-Type-Options, Referrer-Policy, Permissions-Policy) and a proper Content-Security-Policy that allows the site’s own scripts and styles without opening the door to inline injection.

Content

  • Initial content review pass across all article series. Standardized code block formatting, added “Common Mistakes” callout sections, and added FAQ blocks to articles that were frequently accessed via search engines.
  • Created the first batch of step-by-step packs for Zend Framework, Joomla, and Web Services.

Older changes

Content prior to October 2024 was not tracked in this format. The articles themselves carry version notes where significant changes have been made to code examples or technical guidance.