Honestly if I'm doing quick dirty prototyping I want to have as many tools provided for me as possible. I probably won't use most of them, but spinning up a quick Laravel project gives me built-in shortcuts for stuff that's just annoying to do in plain PHP. Sure there are conventions that say you should separate your code into different files, but if you want to you can just shove all of your code into the route files and ignore everything else.
I distribute server-side software and it was a pain to provide the infra requirements. At higher level users easily miss what is yours and what's another tech, they just don't care to tell the difference. Is not a matter of documenting, is just not their concern.
That drives many issues and it becomes a snowball soon as inexperienced users start to vent bad practices. In a effort to help other users they often spread more damage.
With Docker I was able to take charge of the infra, which erased all the uncertainties on my next layer but it spawned the uncomfortable need of learning Docker to use my stuff, which users took very reluctant.
The best distribution method is to pack a binary release. Not only the package is lightweight, it doesn't need any fancy instruction. You can keep Docker for your internal use, don't ship it to end users.
For PHP there's the option of binary distribution using php-micro, sadly not all devs are into it as "just brew". They don't realize that the end user isn't a PHP dev and that having to install the runtime is an annoying step.