phpstan/phpstan-phpunit
PHPStan extension for PHPUnit: improves type inference for mocks (intersection types for createMock/getMock), understands Foo|MockObject phpDocs, adds early-terminating methods to avoid undefined vars, and refines assert() types. Optional strict rules catch improper assertion usage.
|
Package
|
Description
|
Stars
|
Likes
|
Forks
|
Downloads
|
Issues
|
Score
|
Opportunity
|
License
|
Last Release
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|
| avocet-shores/laravel-rewind | Laravel Rewind adds full version control to Eloquent models. Store changes as efficient diffs plus periodic snapshots, then rewind/fast-forward, restore, diff, or query point-in-time state. Thread-safe locking, batch revisions, queues, and pruning included. | 198 | 198 | 4 | 1K | 14 | 31.4 | 20.8 | MIT | 1 week ago | |
| bamarni/composer-bin-plugin | Composer plugin to isolate “bin” tool dependencies (PHPStan, Rector, PHPUnit, etc.) in separate Composer environments to avoid version conflicts and dependency pollution. Provides config for bin links, target directory, and command forwarding. | 527 | 531 | 26 | 639K | 4 | 28.6 | 52.3 | MIT | 2 months ago | |
| barryvdh/laravel-debugbar | Integrate PHP DebugBar into Laravel to inspect requests in real time. View queries, logs, routes, views, cache, events, exceptions, and timing/memory metrics from a sleek toolbar. Includes collectors, profiling, and easy config for local debugging. | 19,158 | 19,461 | 1,607 | 3M | 72 | 89.5 | 63.8 | MIT | 1 day ago | |
| barryvdh/laravel-ide-helper | Generates up-to-date PHPDoc helper files for Laravel to improve IDE autocompletion for facades, models, fluent methods, factories, and container bindings. Provides Artisan commands to generate _ide_helper.php and model annotations for PhpStorm and others. | 14,886 | 15,137 | 1,189 | 3M | 159 | 89.3 | 65.9 | MIT | 3 weeks ago | |
| behat/gherkin | behat/gherkin is a PHP library for parsing the Gherkin language used in BDD. Read and tokenize feature files, build an AST, and integrate with Behat or other test runners to execute human-readable scenarios in your test suite. | 1,061 | 1,068 | 94 | 3M | 9 | 37.0 | 61.5 | MIT | 4 months ago | |
| benbjurstrom/pgvector-scout | Laravel Scout driver for PostgreSQL pgvector. Store embeddings on your models and run fast vector similarity search directly in Postgres. Supports multiple embedding indexes (OpenAI, Gemini, testing) with publishable config and easy setup. | 72 | 72 | 8 | 492 | 2 | 23.7 | 14.4 | MIT | 5 months ago | |
| bensampo/laravel-enum | Laravel Enum provides a powerful enum implementation for Laravel with class-constant definitions, instantiation, casting, validation, localization, bitwise/flag enums, and an artisan generator. Not recommended for new projects—use native PHP 8.1 enums. | 2,035 | 2,051 | 160 | 305K | 1 | 15.1 | 30.1 | MIT | — | |
| beste/clock | beste/clock is a lightweight PHP clock implementation for time-dependent code. It provides a simple, test-friendly way to obtain the current time, swap in fixed or mock clocks, and improve determinism across your application and automated tests. | 74 | 74 | 1 | 1M | 0 | 22.5 | 65.0 | MIT | 3 years ago | |
| beste/in-memory-cache | PSR-6 compliant in-memory cache for PHP—ideal as a lightweight default cache and for fast, predictable tests. Supports standard CacheItemPoolInterface behavior and optional PSR-20 clocks (e.g., frozen clocks) for time-based expiry testing. | 25 | 25 | 0 | 999K | 0 | 22.0 | 65.0 | MIT | 6 months ago | |
| beste/json | JSON helpers for PHP and Laravel: decode/encode, safe access, casting, and convenient manipulation of JSON strings and arrays. A lightweight utility package focused on cleaner, less error-prone JSON handling in everyday applications. | 42 | 42 | 0 | 1M | 0 | 23.2 | 65.0 | MIT | 6 months ago | |
| brianium/paratest | ParaTest runs PHPUnit tests in parallel with near zero configuration. Use vendor/bin/paratest to split by TestCase or --functional to split by test, speeding up CI. Merges code coverage from multiple processes and provides TEST_TOKEN for per-process isolation. | 2,459 | 2,472 | 250 | 5M | 2 | 51.5 | 54.4 | MIT | 2 days ago | |
| climactic/laravel-credits | Ledger-based credits for Laravel: manage virtual currencies, reward points, and other credit systems with deposits, withdrawals, transfers, transaction history, historical balances, and metadata-powered querying. | 306 | 299 | 20 | 7K | 0 | 26.0 | 22.5 | MIT | 2 weeks ago | |
| composer/class-map-generator | Generate PHP class maps by scanning directories for classes, interfaces, traits, and enums. Use a simple static API or an instance-based generator to scan multiple paths, retrieve a sortable ClassMap, and detect ambiguous class definitions with warnings. | 201 | 201 | 21 | 5M | 0 | 27.0 | 65.0 | MIT | 1 week ago | |
| composer/composer | Composer is the de facto dependency manager for PHP. It installs and updates libraries via composer.json, supports version constraints, autoloading, lockfiles, and private/public repositories (Packagist). Works across PHP versions with LTS options. | 29,364 | 29,421 | 4,778 | 3M | 116 | 89.3 | 60.2 | MIT | 1 week ago | |
| composer/installers | Composer Installers extends Composer with custom installer paths for various PHP frameworks and CMSs. It lets packages declare an install type and be placed into the correct plugin/theme/module directory automatically during install/update. | 1,439 | — | 404 | — | 16 | 44.6 | 9.0 | MIT | 1 year ago | |
| craftcms/laravel-aliases | Adds Craft CMS-style aliases to Laravel, letting you define and resolve path/URL placeholders like @web, @app, or custom aliases across config and code. Handy for consistent asset, storage, and environment-specific paths without hardcoding. | 0 | — | 0 | — | 0 | 20.1 | — | MIT | 3 weeks ago | |
| craftcms/laravel-dependency-aware-cache | Laravel cache driver that adds dependency awareness: tag cached items with related models/records and automatically invalidate them when dependencies change. Helps avoid stale data without manually clearing keys, fitting cleanly into Laravel’s cache APIs. | 1 | — | 0 | — | 0 | 20.0 | — | BSD-3-Clause | 3 weeks ago | |
| creagia/laravel-sign-pad | Add signature capture to Laravel models, store signatures and signed documents, and optionally generate certified PDFs. Includes installable migrations/config, publishable JS assets, configurable storage disks and redirects, and traits/contracts to make Eloquent models signable. | 543 | 543 | 52 | 11K | 0 | 28.9 | 21.4 | MIT | 3 weeks ago | |
| cuyz/valinor | Valinor maps and validates raw input (JSON/arrays) into fully typed PHP objects. Supports advanced types (PHPStan/Psalm), provides precise human-readable errors, and can normalize data back to formats like JSON while preserving structure. | 1,500 | 1,496 | 88 | 1M | 25 | 47.5 | 58.8 | MIT | 2 weeks ago | |
| doctrine/collections | Doctrine Collections is a PHP library providing a flexible abstraction for working with collections. It offers array-like data structures, filtering and matching utilities, and common collection operations used across Doctrine projects and standalone apps. | 5,980 | 6,026 | 186 | 6M | 27 | 67.6 | 59.7 | MIT | 2 months ago | |
| doctrine/common | Doctrine Common extends core PHP with shared utilities used across Doctrine projects. Includes collections, event management, caching helpers, annotations support (legacy), reflection and class loading tools. A foundational component for Doctrine ORM and related libraries. | 5,809 | 5,837 | 288 | 4M | 23 | 70.2 | 59.3 | MIT | 1 year ago | |
| doctrine/dbal | Doctrine DBAL is a powerful PHP database abstraction layer providing consistent APIs across drivers, flexible query execution, and rich schema introspection/management tools for building and migrating database schemas in a portable way. | 9,698 | 9,856 | 1,374 | 8M | 278 | 89.9 | 74.9 | MIT | 3 weeks ago | |
| doctrine/deprecations | Side-effect-free deprecation layer for PHP libs. Send E_USER_DEPRECATED notices to trigger_error or a PSR-3 logger, optionally just track them. Supports deduplication, suppression by identifier or package, and reporting counts of triggered deprecations. | 1,845 | 1,845 | 20 | 11M | 6 | 35.7 | 63.6 | MIT | 2 months ago | |
| doctrine/doctrine-bundle | Symfony bundle integrating Doctrine DBAL and ORM. Provides database abstraction, schema tools, and an object-relational mapper with DQL for powerful queries, plus configuration and tooling that fits the Symfony ecosystem. | 4,828 | 4,864 | 481 | 4M | 31 | 77.4 | 62.8 | MIT | 3 months ago | |
| doctrine/doctrine-migrations-bundle | Integrates Doctrine Migrations into Symfony apps, providing commands and configuration for versioned database schema changes. Generate, run, and rollback migrations across environments with reliable tracking and deployment-friendly workflows. | 4,306 | 4,332 | 219 | 3M | 42 | 69.8 | 65.0 | MIT | 4 months ago | |
| doctrine/inflector | Doctrine Inflector is a lightweight PHP library for common string transformations: convert words between singular and plural forms, and handle case changes. Useful for naming conventions in frameworks and tools where consistent word inflection is needed. | 11,353 | 11,390 | 137 | 13M | 10 | 59.3 | 55.6 | MIT | 8 months ago | |
| doctrine/instantiator | Lightweight PHP library to instantiate objects without calling their constructors. Useful for hydrators, serializers, proxies, and testing/mocking. Part of the Doctrine ecosystem; creates instances via reflection while avoiding side effects and required constructor args. | 11,010 | 11,039 | 60 | 9M | 1 | 51.4 | 47.1 | MIT | 3 months ago | |
| doctrine/migrations | Doctrine Migrations manages database schema changes with versioned migration classes. Generate, run, and rollback migrations across environments, track migration status, and integrate with Doctrine DBAL/ORM for reliable, repeatable deploys and upgrades. | 4,774 | — | 392 | — | 119 | 75.6 | 32.4 | MIT | 2 months ago | |
| doctrine/mongodb-odm | Doctrine MongoDB ODM is an object document mapper for PHP that brings Doctrine-style persistence to MongoDB. Define documents with metadata, map fields and relations, run queries, and handle unit of work, identity map, and migrations for MongoDB apps. | 1,095 | 1,108 | 515 | 392K | 102 | 69.5 | 71.0 | MIT | 2 months ago | |
| doctrine/persistence | Leverage Doctrine Persistence for consistent object mapping and database interactions in PHP. Abstracts ORM logic, simplifying persistence across frameworks. Supports Doctrine ORM, DBAL, and more with unified abstractions. Ideal for scalable applications needing clean persistence patterns. | 4,051 | 4,053 | 77 | 5M | 16 | 56.2 | 57.0 | MIT | 5 months ago | |
| droath/laravel-text-chunker | Flexible Laravel text chunking for AI/LLM apps. Split content into smaller chunks by characters, tokens, sentences, or markdown-aware rules. Fluent, strategy-based API ideal for fitting token limits, RAG pipelines, and custom domain splitting. | 1 | 0 | 0 | 52 | 0 | 0.0 | 19.8 | MIT | — | |
| eg-mohamed/referenceable | Referenceable adds customizable reference numbers to Laravel models. Generate random, sequential, or template-based references with prefixes/suffixes, placeholders (YEAR/MONTH/SEQ/RANDOM), automatic resets, collision handling, validation, multi-tenancy support, and Artisan tools. | 79 | 79 | 3 | 554 | 0 | 22.9 | 14.6 | MIT | 2 weeks ago | |
| ekino/phpstan-banned-code | PHPStan extension that flags banned code patterns in your project (e.g., var_dump, dd, exit/die, eval, echo/print, shell exec/backticks). Configurable via PHPStan parameters, with optional checks like preventing use imports from Tests in non-test code. | 296 | 292 | 24 | 206K | 4 | 28.0 | 48.4 | MIT | 4 weeks ago | |
| eliashaeussler/deep-closure-comparator | PHPUnit comparator/assertion that deeply compares closures inside objects/arrays by serializing them via opis/closure. Use DeepClosureAssert::assertEquals() as a drop-in replacement for PHPUnit’s assertEquals when closures should be treated as equal. | 0 | 0 | 0 | 10K | 1 | 21.9 | 65.0 | GPL-3.0 | 1 month ago | |
| eliashaeussler/phpunit-attributes | PHPUnit Attributes adds modern PHP 8 attributes to define PHPUnit tests, data providers, groups, dependencies and more in a clean, declarative way. Keep test classes readable and reduce annotation/docblock noise while staying compatible with PHPUnit workflows. | 4 | 4 | 1 | 1K | 1 | 24.6 | 38.7 | GPL-3.0 | 1 month ago | |
| ergebnis/classy | ergebnis/classy adds convenient helpers for working with PHP classes and reflection. Generate class names, namespaces, and short names, and inspect class metadata in a clean, test-friendly way—useful for tooling, libraries, and code generation. | 38 | 38 | 4 | 64K | 0 | 26.6 | 52.2 | MIT | 3 months ago | |
| ergebnis/composer-normalize | Composer plugin that automatically normalizes composer.json formatting and ordering for consistent diffs and fewer review comments. Install as a dev dependency, allow the plugin, then run to enforce a standard structure across your project. | 1,104 | 1,108 | 36 | 1M | 11 | 38.8 | 54.2 | MIT | 2 months ago | |
| ergebnis/data-provider | Generate data providers for PHPUnit from arrays, iterables, or generators with a small, focused API. Helps build readable, reusable test datasets and named cases, reducing boilerplate when writing parameterized tests in PHP. | 28 | 28 | 0 | 37K | 1 | 23.9 | 50.5 | MIT | 7 months ago | |
| ergebnis/json | Value object for representing valid JSON strings in PHP. Create Json instances from strings or files with strict validation and clear exceptions for invalid JSON, missing files, unreadable files, or non-JSON content. Install via Composer: ergebnis/json. | 24 | 24 | 1 | 1M | 2 | 23.4 | 66.8 | MIT | 7 months ago | |
| ergebnis/json-normalizer | Normalize JSON documents with composable normalizers. Includes generic and vendor-specific normalizers for formatting, indentation, schema-based ordering, JSON encoding, chaining, callbacks, and controlling final newlines. Install via Composer and apply a Normalizer to produce consistent JSON output... | 81 | 82 | 5 | 1M | 0 | 30.4 | 67.7 | MIT | 7 months ago | |
| ergebnis/json-pointer | RFC 6901 JSON Pointer abstraction for PHP. Create, parse, and encode reference tokens from plain strings, JSON strings, or URI fragment identifiers, with helpers to output JSON-safe and URI-safe forms. Install via Composer: ergebnis/json-pointer. | 19 | 19 | 0 | 1M | 0 | 24.0 | 65.0 | MIT | 3 days ago | |
| ergebnis/json-printer | Pretty-print and re-indent JSON strings with customizable indentation (spaces or tabs). Ergebnis\Json\Printer\Printer normalizes indentation only—no escaping/unescaping—making it easy to convert minified or differently formatted JSON into a consistent style. | 90 | 91 | 2 | 1M | 0 | 26.2 | 66.8 | MIT | 7 months ago | |
| ergebnis/json-schema-validator | Validate JSON data against JSON Schema in PHP with a focus on clear, actionable errors. Built on top of justinrainbow/json-schema, it adds structured reporting and better integration for projects needing reliable schema validation in tests and runtime. | 35 | 36 | 0 | 1M | 1 | 24.2 | 65.9 | MIT | 7 months ago | |
| ergebnis/license | — | 14 | 15 | 1 | 28K | 0 | 24.0 | 53.2 | MIT | 7 months ago | |
| ergebnis/php-cs-fixer-config | Factory package for friendsofphp/php-cs-fixer configs. Provides ready-made rule sets per PHP version (5.3–8.5) and helpers to build a consistent, reusable fixer configuration for your projects. | 69 | 69 | 17 | 47K | 1 | 30.7 | 46.0 | MIT | 1 month ago | |
| ergebnis/phpstan-rules | A set of extra PHPStan rules to enforce stricter, opinionated code standards in PHP projects. Install via Composer and include rules.neon (auto via phpstan/extension-installer) to catch issues like named arguments, class design, and more. | 444 | 444 | 22 | 255K | 6 | 33.8 | 48.0 | MIT | 2 months ago | |
| ergebnis/phpunit-slow-test-detector | PHPUnit extension (Composer package and PHAR) that detects and reports slow tests. Configure it in your PHPUnit bootstrap to flag tests exceeding a global maximum duration, helping you spot performance regressions and speed up your test suite. | 146 | 148 | 12 | 487K | 8 | 33.0 | 61.7 | MIT | 4 weeks ago | |
| ergebnis/rector-rules | Custom Rector rules from Ergebnis to standardize and modernize PHP code. Includes sorting associative arrays and match arms, converting Faker generator property fetches to method calls, and fixing namespaced symbol references. Install via Composer for dev. | 9 | 9 | 0 | 18K | 0 | 30.3 | 52.8 | MIT | 1 day ago | |
| erickskrauch/php-cs-fixer-custom-fixers | Custom PHP-CS-Fixer fixers by Erick Skrauch. Adds opinionated formatting rules like aligning multiline parameters, inserting blank lines around class bodies and before returns, spacing after control statements, fixing multiline if braces, ordering overrides, and Yii2 ::className() replacement. | 30 | 30 | 2 | 108K | 2 | 23.6 | 57.5 | MIT | 4 months ago | |
| esi/phpunit-coverage-check | Reads PHPUnit clover/openclover XML coverage reports and computes overall coverage percentage. Fails CI with exit code 1 when coverage drops below a configurable threshold; exits successfully when the threshold is met. Useful for enforcing minimum test coverage. | 6 | 6 | 1 | 6K | 2 | 22.5 | 48.7 | MIT | 2 months ago | |
| facile-it/paraunit | Run PHPUnit test suites faster by executing tests in parallel across multiple processes. Includes Symfony-based CLI, compatibility across PHPUnit/Symfony versions, and parallel code coverage generation (auto-chooses PCOV, Xdebug, or PHPDbg). | 145 | 146 | 18 | 31K | 14 | 35.0 | 45.0 | Apache-2.0 | 1 month ago | |
| fidry/cpu-core-counter | Tiny PHP utility to detect CPU core count (logical or physical) with memoized results. Provides sensible defaults plus configurable “finders” per OS, parallelisation-friendly available cores, and safe fallbacks via exception handling or getCountWithFallback(). | 238 | 236 | 5 | 7M | 4 | 26.0 | 65.9 | MIT | 7 months ago | |
| fruitcake/laravel-debugbar | Integrate PHP DebugBar into Laravel for fast, in-page profiling and debugging. Inspect queries, routes, views, logs, cache, and events, measure timings and memory, and track requests with an easy toolbar and collectors. | 19,158 | 19,156 | 1,607 | 410K | 72 | 90.1 | 52.0 | MIT | 1 day ago | |
| giggsey/libphonenumber-for-php-lite | Lite PHP port of Google’s libphonenumber for parsing, formatting, storing, and validating international phone numbers. Includes core PhoneNumberUtils only (no geolocation/carrier/short numbers). Requires PHP 8.1+ and mbstring; install via Composer. | 84 | 86 | 8 | 1M | 0 | 30.0 | 65.0 | Apache-2.0 | 1 week ago | |
| halilcosdu/laravel-slower | Detect and log slow Laravel database queries, then get AI-powered suggestions for indexes and performance fixes. Configure thresholds, enable/disable AI, and monitor query hotspots to speed up your app with actionable insights. | 408 | 400 | 23 | 611 | 0 | 28.6 | 6.5 | MIT | 1 day ago | |
| hamcrest/hamcrest-php | Official PHP port of Hamcrest matchers for expressive assertions in tests. Use MatcherAssert::assertThat() or convenient global functions (assertThat, equalTo, is, both/andAlso, either/orElse) to build readable, composable matchers with PHP-friendly typing. | 7,034 | 7,091 | 46 | 8M | 10 | 51.5 | 55.7 | NOASSERTION | 11 months ago | |
| hpwebdeveloper/laravel-pay-pocket | Laravel Pay Pocket adds virtual wallets to Laravel using simple wallets and wallet_logs tables. Manage multiple wallet types, deposit, withdraw/pay, check balances, and record logs with clear APIs and exceptions—built for in-app money, not payment gateways. | 317 | 317 | 35 | 521 | 1 | 27.2 | 7.8 | MIT | 4 months ago | |
| icanhazstring/composer-unused | composer-unused detects and removes unused Composer dependencies in PHP/Laravel projects. It analyzes your codebase to find packages not referenced, reports what can be safely removed, and helps keep composer.json/lock lean and maintainable. | 1,676 | 1,678 | 57 | 220K | 10 | 42.2 | 39.4 | MIT | 2 months ago | |
| indexzer0/eloquent-filtering | Define allowed filters on your Eloquent models and apply them from request arrays—no custom query boilerplate. Supports complex search via filter types/operators for cleaner, scalable APIs and dashboards. PHP 8.2+, Laravel 10+. | 224 | 224 | 8 | 2K | 1 | 23.6 | 16.2 | MIT | 1 week ago | |
| infection/extension-installer | Composer plugin bundled with Infection that automatically discovers and registers Infection extensions on install/update. Install an infection-extension package and it’s registered without manual config. Includes guidance for building extensions via composer.json metadata. | 26 | 26 | 4 | 990K | 1 | 21.4 | 65.0 | BSD-3-Clause | 4 years ago | |
| infection/infection | Infection is a PHP 8.2+ mutation testing framework that measures test suite strength by introducing small code changes (mutations) and checking if tests catch them. Integrates with common PHP test runners and provides mutation score (MSI) reporting. | 2,187 | 2,195 | 177 | 961K | 159 | 65.2 | 71.4 | BSD-3-Clause | 1 month ago | |
| jiripudil/phpstan-sealed-classes | PHPStan extension that adds “sealed classes” support for PHP: restrict which classes may extend a base class or implement an interface. Helps enforce architecture boundaries and prevent unintended inheritance across your codebase using static analysis. | 35 | — | 0 | — | 1 | 20.3 | — | MIT | 1 year ago | |
| knplabs/knp-snappy | Snappy is a PHP wrapper for wkhtmltopdf/wkhtmltoimage to generate PDFs, thumbnails, and snapshots from URLs or HTML. Supports Linux/macOS/Windows, configurable binaries and options, and integrates with Symfony and Laravel via community bundles. | 4,469 | 4,545 | 437 | 1M | 6 | 67.2 | 46.8 | MIT | 1 month ago | |
| kreait/firebase-tokens | Create Firebase custom tokens and verify ID tokens or session cookies in PHP. Lightweight library powering the Firebase Admin SDK, with tenant-aware verification and optional caching of Google Secure Token Store keys. | 240 | 241 | 34 | 1M | 0 | 31.3 | 61.3 | MIT | 6 months ago | |
| laracraft-tech/laravel-date-scopes | Add powerful, ready-made date query scopes to Laravel Eloquent models. Use the DateScopes trait to query records for today, last week, month-to-date, last year (with custom start dates), and more—fully chainable with builder methods and aggregations. | 514 | 515 | 32 | 10K | 0 | 28.8 | 21.2 | MIT | 1 week ago | |
| laragraph/utils | Laravel utilities for building GraphQL servers: shared primitives and helpers used by GraphQL packages. Install via Composer and use as a lightweight foundation for SDL-first (Lighthouse) or code-first (graphql-laravel) setups. | 21 | 21 | 7 | 502K | 0 | 25.1 | 65.0 | MIT | 1 month ago | |
| lcobucci/clock | PSR-20 clock implementation for PHP. Provides a simple, testable way to access the current time with interchangeable clocks like system and frozen clocks, making time-dependent code predictable and easy to unit test. | 790 | 792 | 32 | 5M | 1 | 30.3 | 61.8 | MIT | 5 months ago | |
| lcobucci/jwt | A lightweight, flexible JWT library for PHP. Create, sign, parse, and validate JSON Web Tokens with support for multiple algorithms, key types, constraints, and claims. Includes a fluent builder, token parser, and robust validation APIs. | 7,479 | 7,558 | 601 | 6M | 6 | 70.7 | 50.0 | BSD-3-Clause | 5 months ago | |
| lctrs/psalm-psr-container-plugin | Psalm plugin that improves static analysis for PSR-11 containers. Adds smarter type inference for container get/has calls so services and dependencies resolve to the right classes, reducing false positives and making container-heavy code safer to refactor. | 17 | 17 | 7 | 8K | 2 | 25.6 | 44.7 | MIT | 1 year ago | |
| league/csv | — | 3,473 | 3,625 | 346 | 5M | 2 | 57.1 | 50.7 | MIT | 3 months ago | |
| league/oauth2-server | Standards-compliant OAuth 2.0 authorization server for PHP. Protect APIs with bearer access tokens, issue and refresh tokens, and support common grants (auth code, client credentials, device, implicit, password, refresh) with PSR-7 interoperability and RFC support. | 6,643 | 6,724 | 1,135 | 3M | 53 | 86.1 | 74.8 | MIT | 4 months ago | |
| league/tactician | Tactician is a small, pluggable PHP command bus. Route commands to handlers and extend behavior via middleware and plugins (logging, containers, Doctrine transactions, queuing, events, locking). Install with Composer and integrate with your framework of choice. | 864 | 872 | 86 | 187K | 2 | 31.0 | 38.4 | MIT | 3 months ago | |
| lmc/coding-standard | Deprecated PHP coding standard for Alma Career Czechia (formerly LMC). Based on PSR-12 and partially PER 2.0, delivered via EasyCodingStandard with rules for PHP-CS-Fixer and PHP_CodeSniffer to enforce readable, consistent code and catch common mistakes. | 0 | 0 | 0 | 1K | 0 | 0.0 | 30.3 | MIT | — | |
| localheinz/phpstan-rules | Custom PHPStan rules to enforce stricter coding standards in PHP projects. Includes ready-to-use rules.neon (auto-loaded via phpstan/extension-installer) with checks like no named arguments, class final enforcement, and more. Install via Composer as a dev dependency. | 444 | 443 | 22 | 297 | 6 | 33.8 | 6.8 | MIT | 2 months ago | |
| meilisearch/meilisearch-php | Official Meilisearch PHP SDK: a fast, easy API client to index documents, manage settings, and run searches with Meilisearch or Meilisearch Cloud. Supports popular HTTP clients and customizable transport. | 739 | 743 | 116 | 730K | 41 | 50.1 | 72.7 | MIT | 2 months ago | |
| michelf/php-markdown | michelf/php-markdown is a fast, standards-based Markdown parser for PHP (Markdown and Markdown Extra). Convert Markdown text to HTML with optional extended syntax, designed for easy embedding in apps and frameworks, with stable output and minimal setup. | 3,459 | 3,544 | 526 | 624K | 87 | 52.1 | 54.7 | NOASSERTION | — | |
| mikey179/vfsstream | vfsStream provides a PHP stream wrapper for an in-memory virtual file system, ideal for unit tests. Mock files, directories, permissions, and content without touching disk, and use it with PHPUnit, SimpleTest, or any test framework. | 1,439 | 1,459 | 105 | 2M | 27 | 44.2 | 66.5 | BSD-3-Clause | 1 year ago | |
| mll-lab/graphql-php-scalars | Custom scalar types for webonyx/graphql-php, including BigInt, Date/DateTime/DateTimeTz, Email, JSON, and IntRange for bounded integers. Drop-in types for schema definitions with strict parsing and DateTimeImmutable conversion for date scalars. | 147 | 139 | 14 | 133K | 0 | 29.9 | 48.0 | MIT | 9 months ago | |
| moneyphp/money | PHP library for handling money and currencies safely. Provides immutable Money and Currency value objects, arithmetic with proper rounding, comparisons, formatting, and allocation. Avoid floating-point errors in financial calculations; works well with PHP and frameworks like Laravel. | 4,824 | 4,850 | 442 | 3M | 4 | 67.7 | 46.5 | MIT | 5 months ago | |
| myclabs/deep-copy | DeepCopy creates safe deep clones of PHP objects, recursively copying referenced objects while preserving the original object graph. It handles cyclic references to avoid infinite loops, and supports customization via matchers and filters for specific properties and types. | 8,887 | 8,916 | 107 | 13M | 17 | 62.5 | 59.3 | MIT | 8 months ago | |
| nikic/fast-route | FastRoute is a high-performance PHP 8.1+ request router using compiled regular expressions. Define routes with patterns and parameters (optional segments, constraints), dispatch by HTTP method and URI, and get NOT_FOUND, METHOD_NOT_ALLOWED, or FOUND with handler and vars. | 5,263 | 5,394 | 456 | 2M | 18 | 68.3 | 51.1 | NOASSERTION | 2 years ago | |
| nikolaposa/version | SemVer value object for PHP. Create versions from components or strings, access major/minor/patch plus pre-release/build metadata, compare versions (lt/gt/eq), and match against constraints for validation and dependency-style checks. | 140 | 141 | 12 | 198K | 0 | 28.1 | 51.2 | MIT | 1 year ago | |
| nuwave/lighthouse | Lighthouse is a Laravel-first GraphQL server framework. Define your schema, wire resolvers, and handle common tasks like validation, auth, pagination, and Eloquent integration, with flexibility for custom GraphQL needs. | 3,484 | 3,489 | 470 | 303K | 106 | 80.8 | 60.2 | MIT | 1 week ago | |
| oddvalue/laravel-drafts | Drop-in drafts and revisions for Laravel Eloquent models. Create, save, publish, and preview revisions with a simple API, middleware support, and minimal setup—ideal for CMS-style editing workflows without building a custom versioning system. | 431 | 419 | 21 | 10K | 0 | 29.8 | 22.6 | MIT | 2 months ago | |
| ondram/ci-detector | Detects when your PHP app is running in CI. Provides a simple API to identify common CI providers via environment variables, so you can tweak behavior for tests, builds, and deployments without hardcoding provider logic. | 222 | 225 | 13 | 2M | 3 | 2.5 | 55.9 | MIT | — | |
| openspout/openspout | OpenSpout is a fast, low-memory PHP library for reading and writing spreadsheet files (CSV, XLSX, ODS). Built for very large files, it streams data efficiently (often under 3MB RAM) and is a community-driven fork of box/spout. | 1,121 | 1,128 | 133 | 3M | 55 | 55.7 | 79.7 | MIT | 3 weeks ago | |
| pagerfanta/pagerfanta | Pagerfanta is a PHP pagination library for calculating and rendering paginated lists. It supports multiple data providers/adapters and flexible views, making it easy to paginate collections, queries, and APIs in web apps. | 425 | 455 | 169 | 640K | 4 | 8.2 | 44.4 | NOASSERTION | — | |
| pdphilip/elasticlens | ElasticLens brings Elasticsearch power to Laravel models with Eloquent-style queries. Define your own index models, mappings, and schema—no black box. Run phrase/term searches, filters, embedded fields, geo distance sorting, and pagination with fluent, readable APIs. | 0 | 0 | — | 823 | — | 4.5 | 40.3 | — | — | |
| pdphilip/elasticsearch | Laravel Elasticsearch brings an Eloquent-style ORM and query builder to Elasticsearch. Create, update, delete, paginate and filter like Eloquent, plus native search features like term/phrase queries, match, highlighting, fuzzy search, and geo distance. | 0 | 2 | — | 31K | — | 10.5 | 55.3 | — | — | |
| pdphilip/omniterm | OmniTerm is a Laravel terminal UI toolkit: write CLI output as HTML with Tailwind-style classes and render it as ANSI. Includes truecolor with 256-color fallback, gradients, arbitrary RGB classes, and built-in components like status messages, tables, progress bars, spinners, and live tasks. | 0 | 1 | — | 5K | — | 1.5 | 51.0 | — | — | |
| pepakriz/phpstan-exception-rules | PHPStan extension that adds custom rules for analyzing exceptions. It helps catch improper throwing/catching, missing @throws annotations, and other exception-related issues to improve correctness and maintainability in PHP codebases. | 109 | 111 | 10 | 5K | 8 | 32.1 | 29.7 | — | 4 years ago | |
| phing/phing-composer-configurator | Composer plugin that installs and configures Phing from composer.json. Ensures the Phing binary and settings are set up during Composer install/update, simplifying Phing integration in PHP projects and keeping build tooling consistent. | 5 | 5 | 1 | 782 | 0 | 0.2 | 29.3 | — | — | |
| php-debugbar/php-debugbar | PHP Debug Bar adds a browser debug toolbar to PHP apps with timing, memory, messages, exceptions, request data, PDO/Monolog/Symfony collectors, AJAX support, and saved request history. Easy to integrate and extend with custom collectors (dev only). | 4,383 | 4,384 | 426 | 3M | 0 | 67.0 | 45.4 | MIT | 1 day ago | |
| phpbench/phpbench | PHPBench is a benchmark runner for PHP, like PHPUnit but for performance. Run code in isolated processes with revolutions and iterations, measure time and memory, generate reports (console/CSV/HTML), store and compare results, and add assertions to catch regressions. | 1,991 | 1,999 | 132 | 455K | 29 | 53.6 | 53.4 | MIT | 2 weeks ago | |
| phpdocumentor/type-resolver | Resolves DocBlock types and structural element names per PSR-5. Converts partial class names to fully qualified class names, parses type expressions into value objects, and resolves FQSENs for classes, methods, properties, functions, constants and more. | 9,185 | 9,196 | 50 | 8M | 3 | 56.8 | 51.3 | MIT | 3 months ago | |
| phpoffice/phpspreadsheet | PhpSpreadsheet is a pure-PHP library to read and write spreadsheet files like Excel and LibreOffice Calc. Create, modify, and export workbooks across multiple formats with a rich API, documentation, and active community support. | 13,915 | 14,235 | 3,626 | 7M | 81 | 90.5 | 72.6 | MIT | 1 day ago | |
| phpstan/phpdoc-parser | PHPDoc Parser for PHPStan that parses, represents, and modifies PHPDoc blocks as an AST. Supports rich type syntax (unions, generics, shapes, callables, conditional types), constant expressions, and Doctrine annotations, with full API reference for nodes. | 1,523 | 1,525 | 71 | 9M | 8 | 42.0 | 68.6 | MIT | 2 months ago | |
| phpstan/phpstan-beberlei-assert | PHPStan extension for beberlei/assert. Adds rules and type inference so assertions like Assert::string(), Assert::notNull(), etc. narrow variable types and catch invalid uses, improving static analysis accuracy in projects relying on beberlei/assert. | 43 | — | 15 | — | 4 | 21.9 | 1.8 | MIT | 6 months ago | |
| phpstan/phpstan-deprecation-rules | — | 447 | 451 | 23 | 3M | 16 | 33.5 | 70.4 | MIT | 1 month ago | |
| phpstan/phpstan-mockery | PHPStan extension for Mockery: infers intersection types for mocks (Foo&MockInterface), understands shouldReceive/shouldHaveReceived/allows/expects, supports partial/alias/overload mocks, multiple interfaces, and proper constructor args for accurate static analysis. | 102 | 100 | 24 | 995K | 9 | 29.7 | 68.8 | MIT | 1 year ago | |
| phpstan/phpstan-nette | PHPStan extension for Nette Framework. Improves type inference for components, DI container, forms, presenters/sessions, Html dynamic methods, SmartObject magic properties, events, and regex-based Strings utilities. Includes optional Nette-specific rules. | 117 | 118 | 45 | 326K | 6 | 33.6 | 62.2 | MIT | 1 month ago | |
| phpstan/phpstan-strict-rules | Extra strict, opinionated PHPStan rules for strongly typed PHP. Catches loose/unsafe patterns like non-boolean conditions, useless casts, non-numeric arithmetic, missing strict flags in in_array/array_search, variable overwrites in loops, and switch type mismatches. | 691 | 695 | 59 | 2M | 36 | 45.6 | 74.5 | MIT | 1 month ago | |
| phpstan/phpstan-symfony | PHPStan extension for Symfony that improves static analysis with precise return types and framework-specific rules. Understands container/services, parameters, controllers, request/headers, serializer, forms, messenger handlers, cache callbacks, config tree builders, and more. | 782 | 787 | 100 | 2M | 61 | 53.4 | 84.4 | MIT | 1 month ago | |
| phpstan/phpstan-webmozart-assert | PHPStan extension for webmozart/assert that teaches PHPStan how Assert::* calls narrow types. Supports many assertions (including nullOr*/all*) so values become non-null, specific scalars, instances, arrays, etc. after validation, improving static analysis accuracy. | 183 | 183 | 33 | 611K | 6 | 32.7 | 59.9 | MIT | 1 year ago | |
| pontedilana/php-weasyprint | PHP wrapper for WeasyPrint (v60+) to generate PDFs from URLs or HTML. Snappy-like API: stream or download PDFs, save to file, set/reset WeasyPrint CLI options (stylesheets, attachments, media type), with built-in process timeouts. | 76 | 77 | 13 | 38K | 1 | 26.9 | 43.8 | MIT | 2 days ago | |
| promphp/prometheus_client_php | Prometheus client for PHP with Counters, Gauges, Histograms, and Summaries. Supports Redis, Predis, APCu/APCng, and in-memory storage for aggregation across workers. Register metrics via CollectorRegistry and expose them in Prometheus text format. | 542 | 545 | 110 | 1M | 40 | 47.0 | 74.3 | Apache-2.0 | 2 weeks ago | |
| ramsey/collection | ramsey/collection is a PHP library for representing and manipulating typed collections. Provides data structures and APIs inspired by the Java Collections Framework, helping you store, validate, and work with groups of objects and values consistently. | 1,195 | 1,209 | 56 | 13M | 4 | 34.3 | 66.8 | MIT | 1 year ago | |
| ramsey/composer-repl-lib | Library for building interactive Composer-powered PHP REPLs. Provides the core loop and helpers to evaluate code in a Composer project context, load autoloaded classes, and inspect results—useful for CLI shells, debugging tools, and developer consoles. | 3 | 2 | 2 | 2K | 0 | 22.4 | 44.9 | MIT | 1 month ago | |
| ramsey/conventional-commits | PHP library for parsing and working with Conventional Commits. Read commit messages into structured objects, validate format, and extract type/scope/description, body, footers, and breaking changes—useful for changelogs, release automation, and tooling. | 193 | 194 | 24 | 67K | 9 | 28.4 | 45.7 | MIT | 1 month ago | |
| ramsey/http-range | Parse, validate, and work with HTTP Range headers in PHP. ramsey/http-range helps you interpret byte ranges, handle partial content requests, and generate correct range responses for downloads, media streaming, and resumable transfers. | 33 | 33 | 6 | 9K | 0 | 22.3 | 39.7 | MIT | 1 year ago | |
| ramsey/uuid | Generate and work with UUIDs in PHP using ramsey/uuid. Create v1, v4, and other UUID types, parse and validate UUID strings, and integrate easily via Composer. Well-documented, widely used, and standards-aware for reliable identifiers. | 12,617 | 12,840 | 517 | 13M | 17 | 74.6 | 58.3 | MIT | 3 months ago | |
| redaxo/source | REDAXO is an easy-to-learn, flexible website framework/CMS. Build content with custom modules and full control over input/output. Multilingual, highly extendable, and adaptable to your workflow. Includes docs, API references, and an active community. | 346 | 346 | 116 | 477 | 99 | 54.8 | 37.1 | NOASSERTION | 1 day ago | |
| redberry/mcp-client-laravel | Laravel-native MCP client to connect to Model Context Protocol servers via HTTP or STDIO. Discover and call server tools, access structured resources and memory, and integrate AI/agent toolchains into Laravel apps (used by frameworks like LarAgent). | 13 | 13 | 2 | 16K | 4 | 22.1 | 52.3 | MIT | 5 months ago | |
| ruflin/elastica | Elastica is a PHP client for Elasticsearch, providing a rich, object-oriented API for indexing, searching, and managing indices. Compatible with Elasticsearch 9.x+ (branch-specific support for older versions) and integrates with elasticsearch-php. | 2,272 | 2,301 | 732 | 640K | 94 | 75.4 | 73.7 | MIT | 6 months ago | |
| ryangjchandler/blade-capture-directive | Adds a @capture Blade directive to grab template output into a variable for reuse later in your view. Ideal for collecting slots, snippets, and deferred content without extra components or manual output buffering. | 82 | — | 3 | — | 0 | 20.7 | — | MIT | 3 weeks ago | |
| sabberworm/php-css-parser | Parse and manipulate CSS in PHP with a fast, flexible parser. Convert CSS into an object model, inspect and edit rules, selectors, and declarations, then render back to CSS. Useful for minifying, rewriting assets, or building CSS tooling. | 1,822 | 1,833 | 151 | 6M | 135 | 61.1 | 83.8 | MIT | 1 month ago | |
| sabre/dav | sabre/dav is a popular PHP framework for building WebDAV, CalDAV, and CardDAV servers. It provides the core server stack plus extensions for calendars and contacts, with full documentation and installation guides at sabre.io. | 1,696 | 1,719 | 368 | 257K | 157 | 68.5 | 70.5 | BSD-3-Clause | 1 year ago | |
| sabre/event | Lightweight PHP library for event-driven development: EventEmitter, promises, an event loop, and coroutines. Designed for building asynchronous, event-based applications. Documentation at sabre.io/event. Requires PHP 7.1. | 352 | 365 | 24 | 481K | 4 | 30.6 | 52.7 | BSD-3-Clause | 1 year ago | |
| sabre/http | sabre/http is a lightweight toolkit for working with HTTP in PHP. It wraps superglobals and output functions into extendable, mockable Request and Response objects, making it easier to read request data and send headers/body consistently across your app. | 190 | 197 | 59 | 257K | 5 | 33.3 | 53.5 | BSD-3-Clause | 7 months ago | |
| sabre/uri | Lightweight, RFC3986-compliant PHP URI utility library. Resolve relative URLs, normalize for comparisons, parse/build (like parse_url with Windows path edge cases), and split URIs into dirname/basename. Fully unit tested and inspired by Node’s URL APIs. | 293 | 304 | 20 | 701K | 3 | 31.2 | 56.6 | BSD-3-Clause | 1 week ago | |
| seld/signal-handler | Lightweight PHP signal handling for CLI apps. Provides a simple API to register handlers for POSIX signals, integrate with event loops, and reliably dispatch callbacks. Ideal for daemons, workers, and long-running processes that need clean shutdowns. | 182 | 183 | 3 | 2M | 0 | 22.8 | 65.0 | MIT | 2 years ago | |
| shipmonk/coding-standard | ShipMonk’s PHP_CodeSniffer ruleset for consistent PHP style across ShipMonk packages. Easy to install via Composer, configure in phpcs.xml.dist, and run with phpcs/phpcbf. Built on top of Slevomat Coding Standard. | 1 | 1 | 1 | 11K | 0 | 21.9 | 60.5 | MIT | 3 weeks ago | |
| shipmonk/composer-dependency-analyser | Fast, zero-dependency tool to analyze Composer dependencies. Detects unused, shadowed, and misplaced packages/extensions by scanning your autoload paths. Works out of the box, highly configurable, and very performant (15k files in ~2s). Compatible with PHP 7.2–8.5. | 609 | 604 | 13 | 569K | 17 | 34.2 | 55.5 | MIT | 4 months ago | |
| shipmonk/coverage-guard | Enforce PHP code coverage in CI by targeting specific core methods/blocks instead of overall %. Legacy-friendly: enforce only new/changed code via git patch. Lightweight (nikic/php-parser), extensible rules, easy CLI to check PHPUnit Clover reports. | 54 | 54 | 0 | 8K | 0 | 21.4 | 35.5 | MIT | 3 months ago | |
| shipmonk/dead-code-detector | PHPStan extension that detects unused PHP code: dead methods/constants/properties, dead cycles and transitive dead members, even in tests. Supports Symfony and other common frameworks, offers customizable usage providers and optional automatic removal of dead code. | 431 | 414 | 20 | 353K | 5 | 34.8 | 52.1 | — | 2 days ago | |
| shipmonk/name-collision-detector | Fast CLI tool to detect duplicate names in PHP code: classes, interfaces, traits, enums, functions, and constants defined multiple times in the same namespace. Scans thousands of files in seconds, supports config/excludes, exits non-zero on collisions. | 34 | 36 | 2 | 222K | 0 | 21.1 | 61.8 | MIT | 2 years ago | |
| shipmonk/phpstan-baseline-per-identifier | Split a PHPStan baseline into multiple NEON files grouped by error identifier, with a loader include. Generate baseline as usual, then run split-phpstan-baseline to organize ignores per identifier for easier reviews and maintenance. | 91 | 93 | 5 | 127K | 1 | 24.1 | 51.0 | — | 4 months ago | |
| shipmonk/phpstan-dev | Utilities for developing PHPStan rules: write expected errors directly in fixture files using // error: comments and avoid brittle line-number assertions. Includes an autofix mode to generate/update inline error comments during rule development. | 7 | 7 | 1 | 9K | 0 | 22.3 | 49.4 | MIT | 2 months ago | |
| shipmonk/phpstan-rules | 40 super-strict PHPStan rules from ShipMonk to close gaps in “max strict” setups. Easy install via composer, enable via rules.neon, and configure/disable per rule. Includes checks like safe comparisons, enum generics, unsafe array keys, casts, and more. | 152 | 152 | 24 | 103K | 1 | 31.4 | 47.8 | — | 3 days ago | |
| slevomat/coding-standard | — | 1,480 | 1,489 | 194 | 3M | 91 | 62.3 | 81.5 | MIT | 2 weeks ago | |
| solarium/solarium | Solarium is a PHP client library for Apache Solr that models Solr concepts with a clean, documented API, simplifying complex query parameters beyond basic HTTP calls. Requires PHP 8.1+ and supports cURL, a pure-PHP adapter, or any PSR-18 client. | 935 | 957 | 300 | 555K | 11 | 46.0 | 50.0 | NOASSERTION | 5 months ago | |
| spatie/cpu-load-health-check | Laravel Health check for monitoring CPU load. Configure thresholds (e.g., average load over the last 5 minutes) and get notifications when load is too high. Integrates seamlessly with spatie/laravel-health. | 69 | 69 | 8 | 103K | 0 | 22.5 | 51.5 | MIT | 4 months ago | |
| spatie/crawler | PHP web crawler powered by Guzzle concurrency. Crawl sites, follow links, limit depth/scope, collect discovered URLs, and hook into crawl events. Can execute JavaScript via headless Chrome/Puppeteer, and supports faking responses for fast tests. | 2,804 | 2,801 | 368 | 627K | 0 | 55.7 | 38.2 | MIT | 3 weeks ago | |
| spatie/filament-simple-stats | Opinionated prebuilt stat widgets for Filament dashboards. Quickly add counts and sums with ready-made Stat widgets powered by Flowframe/laravel-trend, including last 30 days trends (daily/weekly) for models and fields. | 24 | 23 | 8 | 910 | 0 | 23.3 | 25.6 | MIT | 2 days ago | |
| spatie/flare-cli | Command-line tool for Flare that lets you authenticate with an API token and interact with the Flare API from your terminal. Manage projects and teams, list and inspect errors and occurrences, resolve or snooze issues, and query monitoring summaries and aggregations. | 3 | 3 | 1 | 29 | 0 | 22.0 | 14.9 | MIT | 3 days ago | |
| spatie/flare-client-php | PHP client for sending errors, exceptions, and stack traces to Flare. Install via Composer, configure your API key, and report incidents from any PHP 8.2+ app. For Laravel integrations, use spatie/laravel-flare. | 177 | 178 | 20 | 4M | 0 | 30.7 | 65.0 | MIT | 3 weeks ago | |
| spatie/ignition | Ignition is a beautiful, customizable error page for PHP apps. Register it with one line to get rich exception views, stack traces, and code previews in the browser, with both light and dark modes. Works with Laravel, Symfony, Drupal, and more. | 511 | 519 | 63 | 4M | 1 | 33.9 | 63.3 | MIT | 3 weeks ago | |
| spatie/laravel-auto-discoverer | Fast, cached discovery of PHP classes, interfaces, traits, and enums based on conditions. Scan directories to find structures implementing an interface, using attributes, extending classes, and more—ideal for auto-registration and production-ready performance. | 178 | 178 | 17 | 5 | 1 | 28.6 | 0.2 | MIT | 1 month ago | |
| spatie/laravel-backup | Create secure backups for Laravel apps: zip your selected files plus database dumps, store them on any configured filesystem (even multiple at once), monitor backup health, send failure notifications, and automatically clean up old backups. | 5,966 | 6,054 | 798 | 698K | 0 | 70.6 | 33.7 | MIT | 2 weeks ago | |
| spatie/laravel-bluesky-notification-channel | Laravel notification channel for Bluesky (spatie/laravel-bluesky-notification-channel). Send posts via Laravel’s notification system using a simple BlueskyPost builder; automatically detects links, mentions, and hashtags and renders rich text. | 0 | 0 | 0 | 33 | 0 | 20.4 | 24.9 | MIT | 3 weeks ago | |
| spatie/laravel-ciphersweet | Laravel wrapper for Paragonie CipherSweet that adds searchable field-level encryption to Eloquent models. Encrypt/decrypt sensitive attributes and generate blind indexes so you can query encrypted data securely without exposing readable values in your database. | 419 | 417 | 38 | 32K | 0 | 30.2 | 30.7 | MIT | 1 week ago | |
| spatie/laravel-deleted-models | Automatically copy deleted Eloquent model attributes into a deleted_models table to create a recycle bin for records. Restore deleted models by ID when needed. An alternative to soft deletes for preserving deletion history without keeping rows in place. | 409 | 411 | 26 | 8K | 0 | 27.4 | 21.5 | MIT | 1 month ago | |
| spatie/laravel-error-share | Adds a “Share” button to Laravel’s local error pages so you can generate a link and send the full exception details to a colleague for quick debugging help. Dev-only install via Composer; no setup needed. | 43 | 43 | 5 | 122K | 0 | 23.5 | 55.9 | MIT | 1 month ago | |
| spatie/laravel-error-solutions | Shows helpful, actionable “solutions” directly on Laravel’s error page, explaining likely causes and fixes. Some solutions are runnable with one click (e.g., generate APP_KEY), speeding up debugging during local development. | 98 | 97 | 8 | 8K | 0 | 22.8 | 31.5 | MIT | 1 month ago | |
| spatie/laravel-flare | Send Laravel 11+ (PHP 8.2+) exceptions and logs to Flare for production error tracking, alerts, and sharing. Configure with your Flare API key to automatically report issues and get notified when they occur. | 9 | 9 | 10 | 120K | 0 | 29.5 | 65.0 | MIT | 2 days ago | |
| spatie/laravel-flexible-cache-polyfill | Polyfill for Laravel 10 that adds Cache::flexible() (introduced in Laravel 11). Implements stale-while-revalidate caching so expired values can be served immediately while recalculation runs in the background, avoiding slow responses. | 1 | 1 | 1 | 16 | 0 | 20.3 | 15.5 | MIT | 4 months ago | |
| spatie/laravel-float-sdk | Laravel-friendly SDK for the Float.com API (v3). Configure your API token and user agent, then use the FloatClient to access Float resources from your Laravel app. Not a complete API implementation yet—PRs welcome. | 4 | 4 | 0 | 0 | 0 | 22.9 | — | MIT | 3 months ago | |
| spatie/laravel-harvest-sdk | Laravel-friendly SDK for the Harvest.com API. Configure account ID, access token, and user agent, then resolve the Harvest client from the container or facade to call API endpoints. Not a complete implementation; PRs welcome. | 1 | 1 | 0 | 0 | 0 | 20.8 | — | MIT | 2 weeks ago | |
| spatie/laravel-health | Monitor your Laravel app’s health by registering configurable checks (disk space, queues, cache, etc.) and get notified when thresholds are exceeded. Includes built-in mail and Slack notifications and is easy to extend with custom checks. | 859 | 868 | 174 | 595K | 0 | 39.4 | 46.2 | MIT | 3 weeks ago | |
| spatie/laravel-help-space | Laravel package to integrate HelpSpace. Validates incoming HelpSpace sidebar requests and lets you return HTML (views/strings) with customer context based on ticket data like email, so HelpSpace can render rich sidebar info in the help desk UI. | 23 | 24 | 1 | 2K | 0 | 21.4 | 30.5 | MIT | 1 year ago | |
| spatie/laravel-ignition | Ignition is a beautiful, customizable error page for Laravel. Share errors publicly via Flare, and with an API key track production exceptions and get notified when they occur. Supports Laravel 10+ on PHP 8.1+. | 567 | 572 | 91 | 4M | 0 | 35.9 | 62.2 | MIT | 3 weeks ago | |
| spatie/laravel-livewire-onboard | Define and track user onboarding steps in Laravel. Register steps with links, CTAs, and completion rules, then check progress per user and render the flow in Blade. Helps show what’s done, what’s next, and when onboarding is complete. | 814 | 811 | 31 | 0 | 0 | 29.6 | — | MIT | 1 month ago | |
| spatie/laravel-mailcoach-mailer | Laravel mail driver to send transactional Mailables and Notifications via Mailcoach. Keeps an archive of sent emails, optionally tracks opens/clicks, supports resending from the UI, and lets you use Mailcoach templates with placeholder replacements. | 25 | 25 | 9 | 22K | 0 | 24.7 | 47.5 | MIT | 1 month ago | |
| spatie/laravel-mailcoach-postmark-setup | Prepares a Postmark account for use with Mailcoach by configuring inbound processing for campaign feedback (bounces, complaints, events). Intended for internal use by Mailcoach; code is usable standalone but comes with no docs or support. | 0 | 0 | 1 | 2K | 0 | 21.2 | 52.7 | — | 3 years ago | |
| spatie/laravel-mailcoach-sendgrid-setup | Helps Mailcoach prepare Sendgrid accounts to handle campaign feedback events (bounces, complaints, etc.) for emails sent via Sendgrid. Intended for internal use by Mailcoach; code is usable but has no standalone docs or support. | 0 | 0 | 1 | 2K | 0 | 20.6 | 52.7 | — | 3 years ago | |
| spatie/laravel-mailcoach-sendinblue-setup | Add-on for spatie/laravel-mailcoach that prepares a Sendinblue account for use with Mailcoach, enabling campaign sending and feedback processing through Sendinblue. Documentation available on the Mailcoach site. | 2 | 2 | 2 | 2K | 0 | 21.0 | 44.9 | — | 3 years ago | |
| spatie/laravel-mailcoach-ses-setup | Prepares and configures Amazon SES accounts for use with Mailcoach, enabling proper setup for email campaign sending and feedback handling (bounces/complaints). Intended for internal Mailcoach use; minimal documentation or support provided. | 1 | 1 | 1 | 2K | 0 | 20.9 | 47.8 | MIT | 3 years ago | |
| spatie/laravel-markdown-response | Serve markdown versions of your Laravel HTML pages for AI agents and bots. Detect markdown requests via Accept: text/markdown, known user agents, or .md URLs. Driver-based conversion (local PHP or Cloudflare Workers AI), with caching and HTML preprocessing. | 68 | 65 | 6 | 15K | 0 | 22.1 | 37.9 | MIT | 1 month ago | |
| spatie/laravel-mobile-pass | Laravel package to generate Apple Wallet mobile passes (boarding passes, tickets, coupons, cards) with support for pushing updates to issued passes so they stay current on users’ devices. In development—don’t use in production yet. | 82 | 79 | 8 | 664 | 0 | 21.0 | 15.5 | MIT | 1 year ago | |
| spatie/laravel-og-image | Generate Open Graph images in Laravel from Blade-defined HTML. Automatically renders screenshots, serves them from a route, and caches files. Templates reuse your app’s CSS, fonts, and Vite assets—no external API required. | 32 | 30 | 2 | 5K | 0 | 22.1 | 35.3 | MIT | 1 month ago | |
| spatie/laravel-onboard | Define and track user onboarding steps in Laravel. Register steps with titles, links, CTAs, and completion rules, then query a user’s onboarding progress (in progress/completed) and render a customizable checklist in your views. | 814 | 812 | 31 | 22K | 0 | 29.6 | 23.5 | MIT | 1 month ago | |
| spatie/laravel-open-telemetry | Add OpenTelemetry tracing to Laravel to measure performance and follow requests across dispatched jobs and services. Export traces to tools like Jaeger or Aspecto for end-to-end visibility and debugging. (Package still in development.) | 182 | 183 | 22 | 5K | 0 | 12.4 | 21.9 | MIT | 1 year ago | |
| spatie/laravel-openapi-cli | Generate Laravel Artisan commands from any OpenAPI spec. Each endpoint becomes a CLI command with typed options for path/query params and request bodies. Configure base URL, auth, caching, output formats, redirects, and custom error handling—great with Laravel Zero. | 38 | 38 | 2 | 407 | 0 | 21.4 | 17.2 | MIT | 1 month ago | |
| spatie/laravel-options | Generate unified select option lists in Laravel from enums, Eloquent models, states, and arrays. Spatie laravel-options converts sources to a consistent label/value structure, supports customization via config, and makes building dropdowns and filters faster and cleaner. | 252 | 256 | 9 | 14K | 0 | 25.1 | 28.5 | MIT | 4 days ago | |
| spatie/laravel-passkeys | Add passkeys (passwordless login) to your Laravel app. Includes a Livewire component to generate passkeys and a Blade component to authenticate users via WebAuthn, storing credentials in password managers like 1Password or macOS Keychain. | 446 | 442 | 53 | 103K | 0 | 33.1 | 38.4 | MIT | 3 days ago | |
| spatie/laravel-pdf | Generate PDFs in Laravel from Blade views with a fluent API. Choose drivers like Chromium (Browsershot), Gotenberg, Cloudflare, WeasyPrint, or DOMPDF. Save to disk or return as a response, with support for modern CSS and paged media. | 997 | 998 | 91 | 346K | 0 | 36.8 | 41.3 | MIT | 1 week ago | |
| spatie/laravel-route-discovery | Automatically discover Laravel routes by scanning controllers and views instead of manually defining them. Configure discovery in your routes files and use PHP attributes to customize names, middleware, and more for each discovered route. | 237 | 236 | 29 | 2K | 0 | 31.1 | 16.4 | MIT | 1 month ago | |
| spatie/laravel-screenshot | Driver-based Laravel package for taking web page screenshots with great defaults. Use Browsershot (Chromium) or Cloudflare Browser Rendering, customize viewport/format/quality, save to files, and easily fake/assert screenshots in tests. | 79 | 76 | 3 | 16K | 0 | 21.7 | 37.3 | MIT | 1 month ago | |
| spatie/laravel-settings | Store strongly typed app settings in Laravel using dedicated Settings classes backed by databases, Redis, and more. Inject settings via the container, read and update properties, then save—keeping configuration structured, testable, and easy to manage. | 1,479 | 1,484 | 135 | 383K | 1 | 41.2 | 39.3 | MIT | 3 weeks ago | |
| spatie/laravel-sitemap | Generate XML sitemaps for Laravel automatically by crawling your site or building them manually. Add URLs, models, lastmod/changefreq/priority, images and alternates, then write to file or disk. Supports sitemap index and large sites. | 2,588 | 2,615 | 296 | 570K | 0 | 51.7 | 38.1 | MIT | 4 weeks ago | |
| spatie/laravel-slack-alerts | Send Slack alerts from Laravel in one line. Configure a Slack Incoming Webhook via env or config, then dispatch messages through a queued job so your app won’t fail if Slack is unavailable. Great for notifying you about noteworthy events. | 322 | 322 | 41 | 142K | 0 | 29.8 | 43.0 | MIT | 3 weeks ago | |
| spatie/laravel-sql-commenter | Adds sqlcommenter-style comments to Laravel database queries, embedding context like controller and action. Makes it easy to trace slow or problematic SQL back to the exact code path, and works with tools like PlanetScale Query Insights. | 194 | 194 | 12 | 70K | 0 | 25.6 | 41.5 | MIT | 1 month ago | |
| spatie/laravel-there-there | Expose your Laravel app data as JSON for There There. Configure a secret and endpoint, validate incoming requests, and register a sidebar callback to return relevant customer info when agents open a ticket, shown in There There’s sidebar. | 2 | 1 | 0 | 357 | 0 | 20.7 | 33.8 | MIT | 1 week ago | |
| spatie/laravel-typescript-transformer | Convert PHP classes, enums, and more into accurate TypeScript types in Laravel. Supports complex types, generics, and even TypeScript functions, keeping frontend typings in sync with your backend models via simple PHP attributes. | 373 | 370 | 32 | 354K | 1 | 31.7 | 48.4 | MIT | 3 weeks ago | |
| spatie/laravel-url-ai-transformer | Laravel package to transform URLs and their web content with AI. Extract structured data (JSON-LD), generate summaries, images, or custom outputs via transformers and prompts. Runs via an Artisan command and stores results in the database for later retrieval. | 26 | 26 | 4 | 787 | 0 | 22.1 | 24.0 | MIT | 2 weeks ago | |
| spatie/laravel-visit | Adds a php artisan visit command to quickly hit any route in your Laravel app and inspect the response. Shows colorized HTML or JSON output plus request results, with options like visiting by route name and logging in a user before the request. | 156 | 157 | 9 | 487 | 0 | 24.5 | 10.0 | MIT | 1 month ago | |
| spatie/laravel-webhook-client | Receive and process incoming webhooks in Laravel. Verify signatures, store webhook payloads, and handle them asynchronously via queued jobs. Includes flexible configuration for endpoints and processing logic. | 1,176 | 1,179 | 157 | 462K | 0 | 39.9 | 42.2 | MIT | 1 month ago | |
| spatie/livewire-filepond | Laravel Livewire component that integrates FilePond for modern, smooth file uploads. Drop in <x-filepond::upload wire:model="file" />, add the provided scripts, and handle temporary uploads seamlessly in your Livewire forms with minimal setup. | 306 | 306 | 39 | 41K | 0 | 27.8 | 34.6 | MIT | 1 month ago | |
| spatie/mixed-content-scanner-cli | CLI tool to detect mixed content on HTTPS sites. Crawls pages and reports HTML elements whose URLs use http:// (images, scripts, iframes, forms, etc.). Install via Composer globally and run: mixed-content-scanner scan . | 91 | 91 | 20 | 0 | 0 | 23.8 | — | MIT | 3 years ago | |
| spatie/mjml-sidecar | Compile MJML email templates to responsive HTML via AWS Lambda using Sidecar. A companion to spatie/mjml-php: deploy the provided MjmlFunction, then call Mjml::new()->sidecar()->toHtml($mjml) to render HTML without local Node/MJML. | 13 | 13 | 3 | 8K | 0 | 21.8 | 44.6 | MIT | 8 months ago | |
| spatie/php-structure-discoverer | Automatically discover classes, interfaces, traits, and other PHP structures in a codebase. Scans files, resolves namespaces, and returns a structured overview you can use for tooling, analysis, or building package features without manual registration. | 178 | 179 | 17 | 2M | 1 | 28.7 | 65.0 | MIT | 1 month ago | |
| spatie/security-advisories-health-check | Laravel Health check that queries Packagist security advisories for your installed PHP packages and reports known vulnerabilities. Supports retries, result caching via Laravel cache, and ignoring specific packages for cleaner health reports. | 48 | 48 | 5 | 113K | 0 | 23.5 | 54.7 | MIT | 6 months ago | |
| spatie/sidecar-shiki | Run Shiki syntax highlighting on AWS Lambda via Sidecar from your Laravel app—no Node.js or Shiki dependencies on your server. Install the package, configure Sidecar, register the HighlightFunction, and render highlighted code fast and consistently. | 36 | 36 | 1 | 0 | 0 | 22.4 | — | MIT | 1 year ago | |
| spatie/spatie-content-api | Laravel/PHP package powering Spatie’s promotional-site content API. Fetch posts for a product or project (e.g., mailcoach) via a simple ContentApi facade and expose consistent, reusable content to your frontend or other services. | 3 | 3 | 2 | 611 | 0 | 26.5 | 35.5 | MIT | 5 months ago | |
| spatie/typescript-transformer | Generate TypeScript definitions from your PHP/Laravel code. This package scans classes, enums and other types, then transforms them into TS types/interfaces automatically to keep frontend typings in sync with backend models and DTOs. | 372 | — | 54 | — | 3 | 24.5 | 1.8 | MIT | 3 weeks ago | |
| spomky-labs/pki-framework | PHP 8.1+ framework for PKI: X.509 certificates, ASN.1 (X.690 DER) encoding/decoding, X.501/X.520 DN parsing, PEM (RFC 7468) support, and cryptographic/PKCS-related ASN.1 types. mbstring required; gmp/bcmath recommended. | 27 | 27 | 5 | 2M | 0 | 24.0 | 65.0 | MIT | 2 weeks ago | |
| ssch/typo3-rector | Automated upgrades and refactoring for TYPO3 sites and extensions using Rector. Apply version migrations, remove deprecations, and modernize code safely in development with configurable rule sets for TYPO3 7–12+. | 259 | 260 | 66 | 110K | 31 | 42.0 | 55.4 | MIT | 1 month ago | |
| staabm/phpstan-psr3 | PHPStan rules that detect PSR-3 logger misuse and security pitfalls: invalid placeholders, context issues, and message formatting mistakes. Works with psr/log, Monolog, Laravel (illuminate/log, LogManager), and REDAXO rex_logger. | 23 | 23 | 1 | 31K | 1 | 21.4 | 50.5 | MIT | 11 months ago | |
| symplify/easy-coding-standard | Easy Coding Standard (ECS) makes PHP coding standards effortless on PHP 7.2–8.5. Fast parallel runs, supports PHP_CodeSniffer and PHP-CS-Fixer, uses prepared rule sets, generates ecs.php config on first run, and can check and auto-fix code with --fix. | 1,604 | 1,612 | 93 | 882K | 8 | 36.9 | 47.2 | MIT | 5 months ago | |
| t3docs/fluid-documentation-generator | Generates automatic TYPO3 Fluid ViewHelper reference docs in RST plus a JSON index. Configured via one or more JSON files and run from a CLI command to build navigable namespace/group/file structure for rendering with render-guides. | 1 | 1 | 2 | 840 | 0 | 23.4 | 42.6 | LGPL-3.0 | 1 week ago | |
| tijsverkoyen/css-to-inline-styles | Convert CSS in HTML documents to inline style attributes—ideal for HTML emails. Feed it your HTML and CSS, and it outputs email-friendly markup with styles applied inline. Composer-installable and widely used (including Laravel). | 5,838 | 5,888 | 194 | 10M | 24 | 62.1 | 66.4 | BSD-3-Clause | 3 months ago | |
| typo3/coding-standards | TYPO3 Coding Standards provides PHP_CodeSniffer rulesets and tooling for TYPO3 projects. Enforces consistent formatting and best practices, integrates with CI and IDEs, and helps teams keep TYPO3 extensions and core-compatible PHP code clean and uniform. | 66 | — | 15 | — | 2 | 21.4 | 0.9 | MIT | 1 year ago | |
| typo3fluid/fluid | TYPO3Fluid is a standalone PHP templating engine from TYPO3, providing the Fluid syntax for building secure, reusable templates with view helpers, layouts, partials, and caching. Use it in any PHP project without the full TYPO3 CMS stack. | 167 | 173 | 107 | 315K | 57 | 50.0 | 77.7 | LGPL-3.0 | 3 days ago | |
| vcian/laravel-db-auditor | — | 285 | 287 | 29 | 1K | 2 | 28.5 | 11.2 | MIT | 1 year ago | |
| vincentlanglet/twig-cs-fixer | A coding standards fixer for Twig templates. Analyze and automatically format Twig files with consistent style rules, configurable presets, and CI-friendly checks to keep templates clean and readable across your project. | 336 | 335 | 36 | 617K | 5 | 33.7 | 57.1 | MIT | 1 month ago | |
| voku/phpstan-rules | Additional PHPStan rules to catch risky and redundant condition logic and comparisons. Detects double negatives, PHP 8 behavior changes (0 vs ''), insane/invalid comparisons (0=='0foo', 0==='0'), and type-mismatch checks (e.g., object vs non-object). | 33 | 33 | 1 | 4K | 2 | 0.7 | 28.9 | MIT | — | |
| webonyx/graphql-php | A PHP implementation of the GraphQL specification, modeled after graphql-js. Build schemas, types, and resolvers; execute queries with validation and tooling. Well-documented, widely used, and maintained with semantic versioning. | 4,705 | 4,730 | 572 | 2M | 36 | 81.4 | 65.5 | MIT | 1 week ago | |
| wnx/sidecar-browsershot | Run Spatie Browsershot on AWS Lambda via Sidecar in Laravel. Generate PDFs/screenshots without installing Node, Puppeteer, or Chrome on your server—headless Chrome runs in a deployed Lambda function. Includes config publishing and Sidecar deploy workflow. | 233 | 233 | 35 | 97K | 6 | 32.9 | 44.6 | MIT | 4 weeks ago | |
| wyrihaximus/phpstan-rules-wrapper | Meta-package that bundles popular PHPStan rule sets and extensions for stricter static analysis. Install via Composer and it works automatically with phpstan/extension-installer, pulling in deprecation, PHPUnit/Mockery, strict rules, dead-code detection, and more. | 6 | 6 | 0 | 28K | 1 | 29.2 | 58.5 | MIT | 1 month ago | |
| xammie/mailbook | Mailbook is a Laravel dev package for previewing and inspecting mailables and notification emails without triggering them in your app. Register mails via routes/mailbook.php using classes or closures (with DI), then browse previews at /mailbook. | 481 | 482 | 23 | 25K | 0 | 32.7 | 28.2 | MIT | 3 days ago | |
| yamadashy/phpstan-friendly-formatter | PHPStan Friendly Formatter enhances PHPStan output with code frames around errors, a summary of error identifiers and counts, and clean, readable reports. Install via Composer, include the extension in phpstan.neon, and set errorFormat to friendly. | 64 | 64 | 5 | 37K | 1 | 22.5 | 44.8 | MIT | 2 months ago | |
| yiisoft/yii2-bootstrap5 | Yii2 Bootstrap 5 extension providing Bootstrap 5 UI components and helpers for the Yii2 framework. Includes widgets like ActiveForm, NavBar, Nav, Breadcrumbs, Buttons, Modals, Alerts, and asset bundles to integrate Bootstrap 5 styles and scripts. | 66 | — | 45 | — | 6 | 23.5 | 2.7 | BSD-3-Clause | 4 months ago | |
| yiisoft/yii2-composer | Composer plugin for Yii 2 that manages application templates and extensions: runs install/update hooks, handles asset and config processing, and streamlines setup of Yii2 packages via Composer for consistent project configuration. | 88 | — | 31 | — | 0 | 21.4 | — | BSD-3-Clause | 1 year ago | |
| yiisoft/yii2-debug | Yii2 Debug adds a bottom-page debug toolbar and detailed standalone panels for Yii 2 apps, helping you inspect requests, logs, profiling, DB queries, and more during development. Install via Composer and enable the debug module in config. | 203 | 216 | 149 | 316K | 39 | 17.5 | 57.0 | BSD-3-Clause | — | |
| yiisoft/yii2-dev | Yii 2 is a modern, high-performance PHP framework with secure defaults and flexible architecture. Works out of the box, scales from small apps to large systems, and is backed by extensive guides and API reference. Requires PHP 7.4+ (best on 8). | 14,312 | 14,315 | 6,798 | 1K | 377 | 89.0 | 33.3 | BSD-3-Clause | 3 months ago | |
| yiisoft/yii2-faker | Yii2 integration for Faker, providing fixtures and fake data generators to quickly seed databases and build test data in Yii2 apps. Useful for unit/functional tests and rapid prototyping with consistent, customizable fake datasets. | 112 | — | 29 | — | 4 | 2.6 | 1.5 | BSD-3-Clause | — | |
| yiisoft/yii2-gii | Gii is Yii2’s web-based code generator. Rapidly scaffold models, CRUD, controllers, forms, and modules with templates you can customize. Speeds up development and enforces consistent structure, with an extensible generator system for your own blueprints. | 201 | — | 189 | — | 82 | 26.7 | 26.9 | BSD-3-Clause | — | |
| yiisoft/yii2-queue | Yii2 Queue runs tasks asynchronously via pluggable queue backends: DB, Redis, RabbitMQ/AMQP, Beanstalk, ActiveMQ, and Gearman. Define jobs as classes implementing JobInterface and push them to the queue for background processing. | 1,065 | 1,088 | 288 | 220K | 64 | 52.3 | 70.0 | BSD-3-Clause | 8 years ago | |
| yiisoft/yii2-redis | Yii2 Redis extension providing a Redis connection plus Cache, Session, and Mutex handlers, and a Redis-backed ActiveRecord for storing and querying structured data. Requires Redis 2.6.12+ and PHP 7.4+ (best on PHP 8). | 450 | 480 | 183 | 200K | 32 | 37.9 | 57.8 | BSD-3-Clause | 8 years ago |
How can I help you explore Laravel packages today?