Better Laravel is not a new framework, it is just a set of principles which you can follow to build a better Laravel Application. You just need to follow the following principles, and the Application will turn into
better
and morehuman-readable
code.
Route are just the same as Laravel default routes. The only difference is that we load our routes from our BetterLaravelServiceProvider and of course, you can have 100% control over the routes. See more at
Domain is where our business logic lives and a domain can have followings.
WARNING
Resources under domains are sharable
across the application and consumed by the Features. Since these are served globally, you can consume any of these from any modules, no limitation at all.
Modules are where we wrap our business layers into separate units. A module can have followings.
WARNING
Resources under modules are not sharable
across the application and these are intended for single purpose. This means that you can only consume these resources from the same module.
Controller is Responsible for
Feature is Responsible for
Request is Responsible for
Operation is Responsible for
Job is Responsible for
Even though both of Operation and Feature are responsible for running the Job(s), there is a slight difference between them.
TIP
Operation can be useful in running a set of Jobs which will have to be run from the another Feature as well. Instead of running same Job(s) from multiple Features, we can collect those duplicate Job(s) into a single Operation
, and run that Operation from multiple Features.