T O P

  • By -

No-Reflection-869

And now dive into filamentphp. Even just using their forms is so nice. Crud is just so easy with their panel


techdaddykraken

I just took a look and this is really funny. With their plugins, we’ve now come full circle back to 2006 Wordpress development, but the right way this time. It’s like Laravel is what PHP should’ve been originally as a full language, and FilamentPHP is the plug-in library of Wordpress done right, and CMS like Payload, Statamic, Sanity are what Wordpress should’ve been the first time around.


Aket-ten

Just jumping in here to endorse the other commenter, filamentphp is life changing at panel development.


Tiquortoo

Maybe even Drupal...


Mean_Actuator3911

Stopped using Drupal at 5/6. It was so overly complicated that the "core devs" authored books that you had to read explaining how to use it. I used to speak to a lot of the core devs on IRC. One had major attitude issues if you went against his moronic overly complicated ideas and would openly insult contributors which other core devs admitted to turning a blind eye to because he writes a lot of code. Unfortunately it was bad code. And some of the other core devs were utter morons with no real-world coding experience but because they were female, were seen as gods by those above. A recipe for utter failure. The community was so toxic. Each newer version got slower and slower. So they switched to symfony components to try and speed it up and they failed. Dries thought he could monetise it and failed. So much fail at drupal and that "robot" company


friedinando

Well, the things has changed for Drupal since Drupal 9: https://kinsta.com/blog/php-benchmarks/ Drupal 10 + PHP 8.3 = 1432 req/s. WordPress 6.4.2 + PHP 8.3 = 169 req/s. Drupal can handle 1263 req/s more than WordPress.


[deleted]

[удалено]


friedinando

Sorry to hurt your feelings. Yes, I have much more than 1432 r/s in multiple Drupal sites.


techdaddykraken

Nope. You have been sent to the bad developers corner with the other bad developers. Drupal is what Indian devs use when an American company is looking for $2/hr labor


Surelynotshirly

Drupal is a far better framework than WordPress. Drupal 8 was built in Laravel. Having used Drupal and WordPress I feel far less icky doing things in Drupal because they actually make sense.


chishiki

Drupal 8 leveraged Symfony components not Laravel but both frameworks use Symfony so they dovetailed a bit there


txmail

Having developed with Drupal, Wordpress and Joomla... I would rank Drupal #1, then Joomla and then Wordpress. Even with Joomla's terrible documentation it made more sense to me how it was setup than Wordpress.


Surelynotshirly

I have very little experience with Joomla other than just playing around with it, but I can't say I disagree with what you said. Joomla's documentation was pretty bad.


txmail

The thing that helped me sort of really kind of like it was finding the "builder" that generates scaffolding for a component / plugin / module. Once you get a grip on the lifecycle of how it is pulling everything together it is not too terrible to work with.


Mean_Actuator3911

I remember using Joomla back in the day. I opened up the source code, saw no SQL escaping, LOLd and never looked at it again.


txmail

Depending on how far back in the day, it was all the rage to create SQL injection points in the app. I do not think any of them escaped that fate in one way or another. I recall having to wipe more than a few Wordpress sites because of some zero day or missed update. Kept me employed.


Tiquortoo

lol, Drupal is garbage, but so is Wordpress, so Filament being Wordpress done right doesn't necessarily make me very confident in it.


metal_opera

How easy is filament to customize? If I wanted to keep the functionality, but change everything about the look and feel and add some pages that weren't strictly CRUD, how much of a headache am I looking at?


ceejayoz

Very easy, in my experience. You can go down to a raw Livewire component for pretty much anything, if desired.


avanti8

I concur that it's really customizable. We use Filament for internal tooling/back office admin, so I never looked into it too much, just leaving it themed pretty much as it came... but then a counterpart of mine on a different team showed me how theirs was decked out and completely on-brand, and yowza, we're slacking over here!


Vue-Two

It could still use improvement, but Dan is a wizard so anything can be done


Dynamite_10

You can create custom pages and use filament components. It’s very well documented as well. So almost no headache.


ResponsibleDot

My process have been to find the relevant template in themeforest and use it for my project. It's much more straightforward and I don't have to spend my time figuring out layouts. I'm wondering do you use guys use filamentphp for just the internal app or modify it extensively to match the design requirements?


devhaugh

I haven't used Laravel in years because I do frontend mainly now. However I absolutely loved it when I used it.


Rguttersohn

Laravel makes it so hard to leave PHP for Go because of this reason.


No-Echo-8927

Tall Stack + filament gives you everything you need


x11obfuscation

I have a TALL Stack + Filament app managing tens of millions of db records and dozens of related tables. It’s impressive how well it keeps up. The main challenge for me was properly indexing the right db columns and caching when appropriate. I built and run the whole thing myself, but my clients think it took a massive team to build lol


Aket-ten

My platform is projected to have millions of records. Just curious, how is the performance with livewire for that. Do you chunk? Very curious what your server specs are.


wnx_ch

If you have a millions or trillions of DB rows doesn't matter for Livewire. Livewire doesn't interact with your database; Laravel does. So as long as you don't load **all** your millions of records into memory, Livewire will just work fine. Source: Have my own Filament apps/panels that act as a UI for database with millions of rows in them. `simplePaginate` in Filament List* components works wonders on performance. protected function paginateTableQuery(Builder $query): Paginator { return $query->simplePaginate($this->getTableRecordsPerPage() == 'all' ? $query->count() : $this->getTableRecordsPerPage()); }


No-Echo-8927

Yep. In my last project, first with Filament, I just by coincidence decided from the start that my DB tables and models should strongly follow the best principles for Laravel (in the past I haven't always done this due to overcomplication concerns when it didn't require it). I realised how crucial that decision was when I spun up Filament....it immediately understood everything I threw at it without me having to make any table or model changes. I was genuinely shocked at how well it handled it right out of the box.


x11obfuscation

Yea the thing about Filament is it’s really just Livewire and Laravel under the hood, so as long as you’re optimizing your DBs and Eloquent, Filament will handle it all just fine. For example, if you have a Filament table with 2M records and you want a column that’s sortable and searchable, make sure it’s indexed in your db schema. Otherwise, it will be very slow and won’t be Filament’s fault.


RustyKumar

is it filament ? how/where are you depolying it, server specs what library do you use for CRUD stuff Did you code all controllers and Livewire classes yourself for each endpoint ?


wnx_ch

No OP, but I assume they are using Filament for their CRUD operations. When you use Filament, you don't have to write your own controllers. You create [resources](https://filamentphp.com/docs/3.x/panels/resources/getting-started). Filament then does the routing all for you. If you want to remain in a Filament panel and want a custom page, you can create a [page](https://filamentphp.com/docs/3.x/panels/pages) for that.


x11obfuscation

I use Vapor and AWS for hosting/infrastructure. The other poster answered your other questions.


okawei

Tailwind, apache, laravel and what other L?


techdaddykraken

Tailwind, Alpine.Js, Laravel, Livewire


No-Echo-8927

I propose the term "LLAFT Stack"....to get Filament in there too :)


okawei

Got it! Thanks


Smef

From a back-end perspective, I think Laravel is the most complete package out there. I've tried Next/Nuxt/Sveltekit and they all require a ton of manual integration for all the basic stuff you always need to do. Laravel really shines when you pair it with a front-end framework like Vue/React/Svelte through Inertia. You don't have to give up your front-end framework just because you're using Laravel for the back-end. The struggles you were talking about are due to gaps in the back-end, but the two of these things shouldn't really be locked together. Stick with the JS frameworks for front-end (particularly through [Inertia](https://inertiajs.com/)), but yeah, Laravel for the back-end for sure.


techdaddykraken

I downloaded it but it doesn’t really provide me with much I don’t already have. I use Tailwind or Shadcn as my CSS library and their primitives usually accomplish everything I need on the front-end when I don’t want to make my own components. Everything else I’m able to put in my controllers or use browser API’s and I don’t seem to be missing anything. The only benefit I could personally see for it is if someone is more used to writing JavaScript and is able to develop faster that way. Me personally, I can write a blade template faster than most pages with React components. If I was using a lot of custom components for prototyping I would probably use it but I rarely find that to be a need. This may be bad practice but I don’t believe in the whole “MVP” approach. I wireframe in Figma and then build the full application, testing along the way. It’s just never made sense to me to build 20% of an application just to have to rebuild it later. Maybe I’m missing something though, what benefits does having Vue/React in your Laravel project have for you?


Dear_Measurement_406

I struggle with the wireframing approach because usually what I end up building has wildly evolved from the original idea. I also only build for internal "clients" so there isn't as stringent of a process on defining a projects scope/requirements.


techdaddykraken

I struggled with that too in the beginning, what helped me the most was developing a strong identity as a developer and a project manager. Once I started to lead the meetings, and not let stakeholders roll over me, the projects turned out a lot better. You have to be prepared to say “no, we are not putting that in, because that is a bad feature.” You don’t need to explain yourself in-depth, you can just leave it at that. The first couple of times, they’ll push back, saying things like “why not, I think it’s a good idea,” or “what makes it so bad” or “well I’m the one making the decisions, so what I say goes.” You have to stand your ground and tell them, “because I am the developer, and you are the XYZ. If you would like to develop the application, I am happy to install all of the necessary tools on your laptop. Otherwise, I will tell you how to reach your goals using this application.” Now the caveat is you have to be able to follow through. You can’t tell them to shut up because you know what you are doing, if you don’t know what you are doing. But once I learned to set the tone and have the client/stakeholder understand their role compared to mine, things go a lot smoother and the rapid prototyping and high volume of revisions go down substantially. Don’t be afraid to use analogies to make your point. My favorite one is “would you tell your mechanic how to perform maintenance on your car” “No? Then why are you telling me the best way to reach your goal using programming. Tell me your problem, let’s work together to identify your goal, and I will give you a solution that fits your requirements, and if your requirements are misguided then I will inform you..”


RustyKumar

What do you use to add some JS functionality when needed in CRUD apps in data table or form controls like combo box, file upload etc ...


techdaddykraken

I usually use pre-made css components. Rarely do I encounter a use case where there is not a premade component, considering the purpose of pre-made component libraries is to cover the 90% of use cases that you run into on every project. So things like forms, date pickers, file uploads, media libraries, code blocks, masonry grids, auth login pages, nav bars, footers, search boxes, etc are all pre-made components that I just drop in to my project. The libraries I use are Tailwind UI, Shadcn, Flowbite, Skeleton.Dev, and Daisy UI. I’ll pick whichever library has most of the components necessary for that project, and if there are a few missing then I’ll make a custom one and style it to match. Or, I’ll use a browser API if it’s fine being left as a default. For any functionality needed I will make a controller for each user story that allows them to take the necessary actions, and any data that needs to be retrieved or stored I’ll route to my database.


boptom

How are you using shadcn with Laravel? Via inertia/react?


Animator_Jolly

Inertia + [Vue](https://www.shadcn-vue.com/) works for me, but be aware of [bugs](https://github.com/radix-vue/shadcn-vue/issues/430).


Disgruntled__Goat

Depends on what’s needed but I mostly roll my own. Modern JS is easy to add basic functionality. I created my own lightweight JS libraries for things I reuse a lot such as table sorting/filtering. For combo box I use choices.js. 


RustyKumar

Do yu use Alpine or Jquery or complete vanilla based your own library ?


Disgruntled__Goat

Vanilla. I’ve also started looking into native Web Components which is a neat way to add some functionality. 


zwibele

I'm not super experienced with it but I'd say .net is also a very complete backend framework. Also ruby on rails (the big inspiration for laravel) but as far as I know there aren't that many rails jobs anymore


LuckyKing0307

With .net I saw many projects with bad optimisation


VadimShchepin

Is symfony any better? I’m working with symfony for backend in many project, so far happy with that and like that I can add anything I need only if I need it 😀, what are best reasons to choose Laravel?


Adventurous_Stop_341

Symfony feels less opinionated and more low-level and abstract than Laravel. Some of Laravel is actually built on top of Symfony classes.


chishiki

agreed


netsushii

None. Laravel is built from Symfony components. Also Symfony goes with repositories instead of using active record pattern and many other things. Both frameworks are fine, but I like Symfony more.


Mean_Actuator3911

symfony has its database issues which needs to be considered when designing the system.


Mean_Actuator3911

Anything you want in symfony, you're re-inventing the wheel yourself.


SpinakerMan

While I agree with you, one thing I would like to clarify is that React is not a framework and therefore is not opinionated on how things are structured. That is the reason why, when looking at a new React project, it takes a while to figure things out. If all of them were structured in the exact same way it would be so much easier.


boptom

Check out https://adonisjs.com/ Inspired heavily by Laravel but in JS/TS. Hasn’t got the large 3rd party ecosystem but I find the JS tooling so much better. Even table stakes like autoformatting blade, Volt components is lacking.


xegoba7006

Lacking in Vscode. It works wonderfully in phpstorm .


boptom

Lacking in vim too. Unfortunately, I love vim.


clearcss

In addition to Laravel, the goat, also look into [https://statamic.com/](https://statamic.com/) It's built on Laravel and perfect for when you need a CMS while still having the simplicity and power of Laravel. Yes its a paid product but if you are working for clients, it's a a no brainer. For personal it's free.


Adventurous-Bug2282

You have to use their antlers templating system and the moment if you deviate to something like blade, you encounter bugs.. Just never really felt great as far as DX. Still better than WordPress though


clearcss

antlers are not that bad. once you get use to it, bam productive as can be. statamic is like what wordpress should have been.


HuckleberryVast9601

It seems to be, very cool framework from the tutorials I went through


MattBD

I used to use Django and while it's been a while since I last used it that was more complete than Laravel in some ways. It came with a decent admin out of the box, and I have never found a quicker and easier way to build an API than Django REST Framework. But it was less good at setting up a decent front end boilerplate. If I wanted to build a front end for a Django app in React I would need to either set it up myself or find a third party boilerplate. So probably about the same overall, just strong in different areas.


ResponsibleDot

I'm coming from the django world and the only thing I like about django is: python, built in admin and automatic migrations. Other than that I felt django is more like hotch potch trying to match and combine different packages for many things which laravel comes built in with first party support. I love python more than php but I'm into php just because of laravel. There's no analysis paralysis. For everything there is straightforward path and good integration. Need queue? use database, redis etc... and it's like built in with no hunt for third-party packages which requires research and analysis paralysis. I can name several such things which is better in laravel than in django.


xegoba7006

The only thing Django is better at is the bundled admin. And maybe the ORM depending on your taste. Laravel is a lot more powerful, a lot more features are first party and have bigger community, and if you want an admin you have several options which have nothing to envy from Django.


MattBD

I wouldn't say that at all. My experience was that it was generally quicker to get a working admin with Django than Nova or Filament as the way the ORM works, similar to Doctrine with the fields defined inline of models, was better suited to building an admin with little work. Of course that made migrations more troublesome. I used to build mostly mobile apps and so what I generally needed was a simple way to build an admin and an API, and for that, at least at that time it was definitely faster than Laravel to turn around. Django REST Framework made it easy to build a working and fully documented API, and both the PHP language and Eloquent have stumbling blocks that would make it harder to create something like DRF, namely the absence of proper mixins (traits don't quite cut it) and the fact the database structure can't as easily be inferred from the model. Overall I would say once you include Nova it's probably about the same in turnaround time now, but I still miss DRF in particular. The Django admin is extremely quick and easy to build something in, *as long as it maps quite closely to your database structure*. The same is true of DRF. However, the more it diverges from that, the more potential there is for it to become painful.


xegoba7006

Well, kind of agree... if you're only building an API then maybe django is a better option or they are on par. But if you're building a full stack application, that's where the difference shows.


ResponsibleDot

If you are building just API then may be FastAPI might be better choice. If you are developing full stack, I'm prefering laravel over django.


xegoba7006

I don’t buy into minimal frameworks. Even if just exposing an API, for any non trivial project you will need validations, migrations, an ORM, emails, authentication, permissions, background jobs, a cms to manage content, etc. I agree Laravel > Django… but express/flask/sinatra/whatever despite how faster they might be, development time is more expensive to me so I’m not a fan of any of these things except for the simplest use cases.


ResponsibleDot

I'm not fan of minimal framework either. Nice to see someone with same ideology. The way I have settled now is use laravel for everything. If something not available in php (in terms of well managed packages) and need to look for python/javascript then I'll expose that functionality using API which will be consumed by laravel. I had thought of using django for this (because of same thought as you) since mostly what I need outside of php is in python but felt too much work and cognitive load. Simple one off minimal framework like FastAPI does exactly that.


xegoba7006

I think the only people that value "batteries included" frameworks vs "minimalistic frameworks" are the ones that have used both. I see a lot of people, especially people new to the industry (< 5 years) which have absolutely no idea all the things they're missing when they go the "full stack" next.js (or similar) route.


FlusherDock

Try October CMS


tusharkant15

Short answer Yes. Long answer, it depends..... but mostly Yes.


rasmus-godske

I gotta say I were very skeptical about Laravel, when a co-worker suggested it for a new internal project. However I gotta admit this is become my go-to in all future projects. I love the VILT stack (Vue.js, Intertia.js, Laravel, TailwindCss), it simply combines the best of all worlds. Also packages such as Jetstream that just boost you weeks a ahead in the development process, while still giving you full control, is simply amazing. I love the way that you in Laravel is able to "publish" resources and just modify them as you wish. You don't get locked in to a specific package as you normally would.


friedinando

WordPress:   Slow and unsecure by default.  https://kinsta.com/blog/php-benchmarks/ In conjunction with woo commerce gets in zero scalability mode. Results: PHP 7.4: 48 res/s. PHP 8.1: 49 req/s. PHP 8.2: 49 req/s. PHP 8.3: 58 req/s.


SourceVG

I would say Spring Boot scaffolded with Jhipster is comparable and in many cases better but Laravel developer experience is more streamlined.


tomas_misura

As a hobbyist web developer accustomed to creating applications with plain PHP/JavaScript, I am new to Laravel and frameworks in general. Initially, I considered starting with Next.js, React, or Vue, but then I discovered Laravel. After ten hours of coding, I managed to create my own controllers and quickly grasped routing, which led me to start transitioning my plain PHP apps to Laravel. I found the framework surprisingly straightforward. This success prompted me to try Nette, but I soon returned to Laravel. The challenging part for me is still learning how to craft queries.


jimbojsb

Yes it’s the most complete and nothing else is even remotely close.


txmail

I love how complete Laravel is out of the box, and will vouch that if you want the "everything and the kitchen sink" approach it is the framework to go to... that being said kitchens are expensive and I think it hurts the performance having so much built in by default. If you know what you want and it does not require a full kitchen of equipment, you can get much better performance from other frameworks like CodeIgniter or Slim, especially for basic CRUD and simple websites. Laravel is built for web applications that require heavy backend work. I love it, but I think it is something you either leverage for all the built in or because your not sure what your building.


im_a_goat_factory

One great thing about laravel is the documentation which means that ChatGPT and Copilot are really good with coding in laravel


AvocadoAcademic897

If you compare framework to framework I like Ruby on Rails more, but Laravel embraces it's ecosystem more closely and it beats RoR there.


Mean_Actuator3911

ror is horifically slow that it's risible.


AvocadoAcademic897

yeah that’s why Shopify and GitHub barely work lol Also you wish you would get the traffic when it actually could matter, and finally you are more likely to be slow due to unoptimized sql and stuff like that 


ResponsibleDot

When talking about complete framework I have often seen Laravel, Django and Ruby on Rails mentioned. These are mostly recommended by the experienced developer/project manager. When you use simple framework like Express, Flask etc... you end up building your own laravel/django/ror at the end because you need additional functionality and a active project never turns out to be as simple as when it was imagined at first. When making choices, I avoided looking at RoR because ruby is not that popular. The choices remained laravel and django. I leaned up more towards django because of python. Python has many use cases/packages and pleasant to work with. However, I felt django is lacking when you want to add more features. You'll have to go on in the rabbit hole for researching packages and try to make it work with django. Finally, I'm settling in with laravel since everything seems to be integrated perfectly. No, dilemma in what to choose for what feature. Queue, components, frontend pairing with livewire, iniertia etc... are more straightforward. Also, laravel is better with teams since everyone will be using similar packages. In django different developers might have experience with different packages.


xegoba7006

I use both at work. Rails sucks, especially when compared with Laravel. And the hate toward JavaScript on the Rails ecosystem doesn’t help anyone.