Laravel considered harmful

This page summarizes the projects mentioned and recommended in the original post on /r/PHP

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • ideas

    Discontinued Issues board used for Laravel internals discussions. (by laravel)

  • Singleton usage: The container has a singleton and unfortunately this singleton is used everywhere across the codebase. The Container interface is almost useless because event if we implements this contract, Laravel's container concret implementation will be used by the framework. (Related issue: https://github.com/laravel/ideas/issues/1467) (Occurrences of "Container::getInstance()": https://github.com/laravel/framework/search?q=Container%3A%3AgetInstance%28%29).

  • Torch

    Examples of using each Illuminate component in non-Laravel applications

  • Torch is the proof that it's tightly coupled. Why do you even need a repo to show how to do it? Symfony doesn't have this issue. Just look at how much crap you need to wire to use a simple validation component: https://github.com/mattstauffer/Torch/blob/master/components/validation/index.php, it's garbage.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Laravel

    The Laravel Framework.

  • Yeah, you were right. And it was last updated in December of 2022, long after typehints became available. Other files are very similar, even most simple of them.

  • laravel-strict-coding-standard

    PHP_CodeSniffer rules for Laravel to force the "right" design of the app

  • You can even do it automatically; LaravelStrictCodingStandard.Laravel.DisallowUseOfFacades in PHP_CodeSniffer. https://github.com/vladyslavstartsev/laravel-strict-coding-standard

  • bypass-finals

    Removes `final` and `readonly` keywords from source code on-the-fly and allows mocking of final methods and classes. It can be used together with any test tool such as PHPUnit or Mockery.

  • It definitely is my job. If you feel you should ignore best practices and author's opinion, use something like this: https://github.com/dg/bypass-finals

  • Slim

    Slim Framework 4 Skeleton Application

  • Sylius

    Open Source eCommerce Framework on Symfony

  • I think it would be difficult (or much harder) to build something like Sylius on top of Laravel. Especially if you want good code-coverage by tests.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • composer-patches

    Simple patches plugin for Composer

  • I've had problems with libraries using final having an API that isn't customizable enough in a particular way I need because I'm innovating in some way they could never have considered in the past, so my choice ends up either needing to fork the library or monkey patch it with https://github.com/cweagans/composer-patches so I can get rid of final so I can keep using it. They wouldn't accept a change in API or behaviour because it would break things for other users, etc.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts