Best of PHPMay 2026

  1. 1
    Article
    Avatar of lnLaravel News·16w

    Laravel Brain: Visualize Your Application's Request Lifecycle

    Laravel Brain is a Laravel package that scans your application and renders an interactive graph of the full request lifecycle. It maps routes, controllers, services, models, jobs, events, Artisan commands, and more as colored nodes with directional arrows. Key features include an AI context export (copying structured Markdown snapshots for LLM input), AI rules file generation for seven coding assistants (Claude Code, Cursor, Windsurf, etc.), route stress testing with live graph animation, and fat-class detection for complexity hotspots. The graph is served at `/_laravel-brain` with no separate deployment needed.

  2. 2
    Article
    Avatar of stitcherstitcher.io·16w

    PHP's biggest problem

    PHP's biggest problem isn't the language quality, ecosystem, or tooling — it's marketing. Drawing on experience at JetBrains and observing Laravel's success, the author argues the PHP Foundation should invest in a modern website redesign, full-time documentation work, conference outreach beyond the PHP community, active social media presence across all major platforms, accessible internals communication, and deliberate marketing of new language features. These efforts would likely require three to four full-time roles but are seen as essential for PHP's long-term prosperity.

  3. 3
    Article
    Avatar of phpPHP·16w

    PHP: PHP 8.3.31 Release Announcement

    The PHP development team has released PHP 8.3.31, a security update for the PHP 8.3 branch. All PHP 8.3 users are urged to upgrade immediately. Source downloads and Windows binaries are available on the official PHP downloads page, with the full list of changes in the ChangeLog.

  4. 4
    Article
    Avatar of allthingsopenAll Things Open·16w

    PHP powers most of the web, so why aren’t new developers learning it?

    The 2026 PHP Landscape Report by Perforce reveals a paradox: PHP remains a dominant force in web development but faces an aging developer base, with only 8% of PHP developers having fewer than five years of experience. Most PHP users work at small-to-medium organizations (48% at companies with fewer than 20 employees), primarily in Europe. Deployment trends show 58% of apps still run on-premises, and NGINX has overtaken Apache as the top web infrastructure tool for the first time. Despite competition from newer technologies, PHP continues to mature with a focus on security, new features, and code quality — but attracting new developers remains a critical challenge for the community's future.

  5. 5
    Article
    Avatar of lnLaravel News·13w

    Laravel Paper: A Flat-File Eloquent Driver

    Laravel Paper is a package that lets you use Markdown and JSON files as Eloquent data sources, eliminating the need for a traditional database in content-heavy scenarios. It supports the standard Eloquent query API (where, orderBy, find, whereContains), file-based relationships (belongsToPaper, hasManyPaper), and full CRUD operations that map directly to filesystem reads and writes. The package requires PHP 8.4 and Laravel 12.0+, uses PHP 8 attributes for configuration, and supports YAML frontmatter for metadata in Markdown files.

  6. 6
    Article
    Avatar of lnLaravel News·17w

    Laravel Schema Sentinel: Detect and Fix Database Schema Drift

    Laravel Schema Sentinel is a new package that detects database schema drift by building a shadow database from your migration files and diffing it against your live database. It audits tables, columns, data types, nullability, defaults, indexes, and foreign keys. When drift is found, it can auto-generate corrective migrations with an interactive review mode. It also supports cross-environment comparison (e.g., local vs. staging), a programmatic Facade API, a Livewire visual health dashboard, and a pre-migration guard that blocks `php artisan migrate` if drift is detected. Compatible with Laravel 11.x through 13.x.

  7. 7
    Article
    Avatar of freekFREEK.DEV·15w

    Generate Apple and Google Wallet passes from Laravel

    Spatie released Laravel Mobile Pass, an open-source package for generating Apple Wallet passes and Google Wallet objects from a Laravel application. The package provides fluent builder classes for pass types like boarding passes and event tickets, stores passes as Eloquent models, and handles serving them via the Responsable interface. Key features include live push updates via APNs (a single updateField() call updates the pass on the user's device), pass relevance (geofencing and date-based lock screen appearance), pass expiration, and Google Wallet save/remove event callbacks. A live demo and full source code are available on GitHub.

  8. 8
    Article
    Avatar of lnLaravel News·15w

    Attach Addresses to Any Eloquent Model with Laravel Addressable

    Laravel Addressable is a package that adds polymorphic address management to any Eloquent model via a single migration and trait. It supports general-purpose, billing, and shipping address types with dedicated traits and scoped helpers. Features include a JSON meta column for arbitrary extra data, a configurable display_address accessor, primary address toggling with events, and geospatial support using a spatial POINT column for radius and nearest-neighbor queries (requires MySQL 8+, MariaDB 10.5+, or PostgreSQL with PostGIS).

  9. 9
    Article
    Avatar of lnLaravel News·15w

    Generate HTML Password Rules Attribute in Laravel 13.9.0

    Laravel 13.9.0 ships several new features. The headline addition is Password::toPasswordRulesString(), which converts a Password validation rule into an HTML passwordrules attribute string so browsers and password managers like Safari, 1Password, and Bitwarden can auto-generate compliant passwords. Other additions include Cloud queue metrics for job throughput telemetry, optional disk storage for SQS payloads exceeding the 1 MB limit (offloading to S3 via a pointer), Concurrency::run() timeout support for the process driver, PendingDispatch conditionable with when()/unless() for inline job configuration, a PreparesForDispatch interface for pre-dispatch hooks, a foreignUuidFor() schema blueprint helper, ThrottlesExceptions backoff accepting a Closure, and enum support for contextual attribute binding.

  10. 10
    Article
    Avatar of lnLaravel News·16w

    Generate Livewire Skeleton Placeholders Automatically with Wirebones

    Wirebones is a Laravel package that automatically generates skeleton placeholder Blade files for Livewire lazy-loaded components. It uses headless Chromium at build time to capture the rendered DOM of a component and produce a matching skeleton view, so placeholders stay in sync with the real layout without manual maintenance. Key features include responsive multi-breakpoint capture, Vite file-watcher integration for auto-rebuild, support for authenticated routes, and compatibility with Livewire's lazy, defer, and lazy.bundle modes. Chromium is only needed at build time — production servers serve the generated Blade files normally.

  11. 11
    Article
    Avatar of lnLaravel News·13w

    Manage Subscription Plans and Entitlements in Laravel with Laravel Entitlements

    Laravel Entitlements is a package that handles subscription plan management, license issuance, and consumption tracking for Laravel SaaS apps. It supports slot-based strategies (one usage per subject, e.g., seats or devices) and pool-based strategies (shared counters, e.g., AI tokens or API credits). Any Eloquent model can become a subscriber via the HasEntitlements trait. Plans support monthly/yearly billing cycles, domain events are dispatched for key lifecycle moments, and an optional Filament v5 admin panel is available. Requires PHP 8.2+ and Laravel 11+.

  12. 12
    Article
    Avatar of lnLaravel News·14w

    Piper: Laravel-Style Array and String Helpers for PHP's Pipe Operator

    Piper is a Spatie package that brings Laravel-style array and string helpers to PHP 8.5's new pipe operator (`|>`). Unlike Laravel's `Collection` and `Stringable` wrappers, Piper's functions operate directly on native arrays and strings using curried functions designed to sit on the right side of a pipe. The `Arr` namespace provides helpers like `filter`, `map`, `values`, and `join`, while the `Str` namespace covers `lower`, `upper`, `replace`, `prefix`, and more. Because all functions pass native values, array and string steps can be freely mixed in a single pipeline. Install via `composer require spatie/piper` (PHP 8.5 required).

  13. 13
    Article
    Avatar of lnLaravel News·14w

    Storage Cache Store in Laravel 13.10.0

    Laravel 13.10.0 ships a new filesystem-backed storage cache driver that lets you use any configured disk (including S3) as a key/value cache store without Redis or Memcached. The release also adds a --stop-when-empty-for queue worker option to auto-stop idle workers, a WorkerIdle event for detecting unused workers, lifecycle callbacks on Schedule::group(), a Schema::hasForeignKey() helper, JSON output for queue:failed, assertPushedOnce() for cleaner queue test assertions, and enum queue name support in QueueFake. Several bug fixes are included covering validation rules, signed URL path encoding, and SQL aggregate alias quoting.

  14. 14
    Article
    Avatar of laravelLaravel·16w

    Laravel April Product Updates

    Laravel's April updates bring several notable additions across the framework and its ecosystem. The core framework gains full-stack Passkeys support via laravel/passkeys with React, Vue, and Svelte helpers, debounceable queued jobs using a #[DebounceFor] attribute to collapse bursty dispatches, and MCP UI App Support for rendering sandboxed HTML apps inside MCP tools. Laravel Cloud adds a fully responsive mobile UI and dedicated edge network enhancements for monitoring and converting top IPs/paths into firewall or cache rules. Laravel Forge now supports PHP 8.5, multiple SSL certificates per site for staged rotations, and certificate renewal alerts to prevent downtime.

  15. 15
    Article
    Avatar of collectionsCollections·14w

    WordPress 7.0: What's new and what it means for developers

    WordPress 7.0 'Armstrong' released May 20, 2026, introducing an AI Connectors screen for integrating OpenAI, Gemini, and Claude via a new WP AI Client and Abilities API. The block editor gains responsive visibility controls, per-block custom CSS, visual revisions, and three new blocks (Icons, Breadcrumbs, Headings). A site-wide Command Palette (Cmd/Ctrl+K) lands in the admin UI. PHP minimum is raised to 7.4, and developer-facing additions include pseudo-element support in theme.json, Block Selectors API, WP-CLI 3.0, and expanded DataViews/DataForms APIs. 24 Core and 16 Gutenberg accessibility fixes target WCAG 2.2 AA compliance. Real-time collaboration was cut from this release. A known publishing screen bug affects non-block editor on custom post types; WordPress 7.0.1 is planned for mid-to-late June.

  16. 16
    Article
    Avatar of collectionsCollections·16w

    PHP retires its custom license in favor of BSD three-clause

    The PHP project has officially retired its custom PHP License and relicensed its codebase under the three-clause BSD license. The old PHP License 3.01 and Zend Engine License 2.0 were problematic: neither was OSI-approved, both were GPL-incompatible, and they caused recurring headaches for Linux distribution packagers. Ben Ramsey led the effort starting July 2025, tracking down original PHP Group members for written consent and securing sign-off from Perforce Software (owner of Zend Engine rights). The RFC also proposes removing build-time linking options for GPLv3 libraries (GNU Readline and GDBM) to further simplify packaging. The vote passed 47–0 with 2 abstentions.

  17. 17
    Article
    Avatar of php_digestPHP Digest·16w

    PHP goes BSD, Symfony triples up on releases

    PHP 9.0 will ship under the BSD-3-Clause license, resolving decades of OSI-incompatibility from the old dual PHP/Zend Engine license arrangement. Symfony released maintenance updates for branches 6.4, 7.4, and 8.0, fixing dozens of bugs including circular reference and Dotenv issues. Laravel 13.7.0 introduces an Interruptible interface for graceful job shutdown on worker signals, bulk JSON path assertions, and a new Blade fonts directive. A WordPress redirect plugin with 70,000+ installs was removed from the directory after a dormant backdoor was found in 2020–2021 versions. Additional items include PHP 8.5.6 RC3 delays due to a CVE and regression, Deployer v8 release, Symfony 8.1 preview features, Laravel Schema Sentinel package, Craft CMS 6 migrating to Laravel, and PHPverse 2026 conference details.

  18. 18
    Video
    Avatar of laraveldailyLaravel Daily·15w

    Insert 1M Rows to MySQL Laravel DB: 6 Ways (Benchmarks)

    Benchmarks comparing 6 approaches to inserting 1 million rows into a MySQL database using Laravel, including Eloquent, factories, query builder, raw DB insert, and bulk native file loading. Key findings: bulk native (LOAD DATA INFILE) is fastest at ~5.5 seconds, while plain Eloquent is slowest due to per-row overhead like password hashing and timestamp generation. Factories are significantly faster than Eloquent for users because they hash the password only once. Query builder and raw DB insert achieve ~100,000 rows/second vs ~4,000 for factories. Also covers a streaming/chunked approach to minimize RAM usage (reducing peak memory from ~560MB to a stable low level) at the cost of slightly slower execution.

  19. 19
    Article
    Avatar of lnLaravel News·14w

    Drag-and-Drop Sorting for Eloquent Models with Reorderable for Laravel

    Laravel Reorderable is a package that adds drag-and-drop sorting to Eloquent models. It provides a HasSortOrder trait and ReorderableContract interface, ready-made Blade and Livewire components, and automatic persistence of sort positions via a built-in route. Features include grouped reordering scoped to parent models, programmatic position control via moveToPosition() and reorderFromArray(), an artisan generator command for scaffolding, authorization via closure, and an ItemsReordered event for cache busting or audit logging. Requires PHP 8.3+, Laravel 13+, and Livewire 4+.

  20. 20
    Article
    Avatar of lnLaravel News·15w

    Larapanda: A Type-Safe Lightpanda Browser SDK for Laravel

    Larapanda is a Laravel SDK that wraps the Lightpanda headless browser (written in Zig) with type-safe fetch results, profile-based instance management, and automatic CLI/Docker runtime resolution. It provides typed accessors for different dump formats (Markdown, SemanticTree) that throw exceptions on mismatched usage. Optional adapters integrate Lightpanda as tools for the Laravel AI SDK and Laravel MCP server, with session-aware browsing for multi-step AI tasks and configurable session pooling.

  21. 21
    Article
    Avatar of newstackThe New Stack·16w

    Why PHP performance keeps getting bumped from the roadmap

    PHP teams consistently struggle to prioritize performance improvements over new feature delivery. Survey data from the 2026 PHP Landscape Report shows performance is frequently cited as a top challenge, yet it keeps getting deferred on roadmaps. The post argues this is a planning and process problem, not a technical one. Practical steps include establishing performance baselines, adding performance budgets to sprint workflows, adopting APM and observability tooling (only 35% of teams currently use it), reserving fixed sprint capacity for optimization work, and engaging external partners for sustained focus.

  22. 22
    Article
    Avatar of lnLaravel News·16w

    Verifiable Audit Logging with Laravel Chronicle

    Laravel Chronicle is a package that implements tamper-evident audit logging using a SHA-256 cryptographic hash chain. Each ledger entry incorporates a hash of the previous one, making any alteration or deletion detectable. It provides a fluent API for recording entries with actor, action, subject, metadata, and tags. Features include query scopes, cursor-based streaming for large ledgers, signed checkpoints for point-in-time snapshots, and exportable signed datasets for external auditors. It suits compliance workflows, financial records, and security logging use cases.

  23. 23
    Article
    Avatar of wendelladrielW endell Adriel·13w

    Laravel Request Lifecycle Deep Dive: From Request to Response

    A thorough walkthrough of the Laravel HTTP request lifecycle, tracing every step from the web server hitting public/index.php through Composer autoloading, application bootstrapping, service provider registration and booting, global middleware, routing, route middleware, route model binding, controller execution, response normalization, outbound middleware, response sending, and kernel termination. Includes practical code examples for each phase, clarifies common misconceptions (e.g., controllers are not the start of the request, route model binding happens in middleware), covers terminable middleware, and explains how long-running workers like Laravel Octane change state management assumptions. Ends with a 25-step end-to-end trace and a debugging checklist organized by lifecycle phase.

  24. 24
    Article
    Avatar of lnLaravel News·16w

    Laravel ClickHouse: A Full-Featured ClickHouse Driver for Laravel

    Laravel ClickHouse is a database driver that integrates ClickHouse with Laravel, providing Eloquent models, a Query Builder with ClickHouse-specific clauses (FINAL, ARRAY JOIN, SAMPLE, PREWHERE), a Schema Builder supporting MergeTree engines and partition keys, and Laravel migration support. It also includes a Parallel helper for concurrent query execution via Guzzle's async HTTP pool, and supports dual HTTP transports (Guzzle and Curl/phpclickhouse). ClickHouse is a column-oriented database suited for analytical workloads, event tracking, and time-series data at scale.

  25. 25
    Article
    Avatar of maximegosselinMaxime Gosselin·16w

    Bootstrapping a Frameworkless PHP Application #

    A guide to bootstrapping a PHP application without a full-stack framework like Laravel or Symfony. Using a single bootstrap.php file, Composer autoloading, vlucas/phpdotenv for configuration, and a PSR-11 compliant league/container with autowiring, the approach wires services together cleanly. The same bootstrap is shared across four entry points: web (Slim), CLI (Symfony Console), standalone scripts, and PHPUnit tests. The author argues this gives developers full ownership of dependencies, easier upgrades, and no coupling to a framework's release cycle.