I am building a large application, and I decided to develop it by extracting major features into their own package, so that the code base is managed. Each package has a duty to do etc.
@zhxscript If you thought developing a large application was going to be difficult, you’ve just made things even more difficult for yourself by extracting things to packages, as now not only do you have to coordinate the development of the application itself, but you also have to coordinate the publishing and pulling of packages.
You’d be better off just setting and sticking to a directory structure in your application yourself inside of extracting things to packages. As you’ve found, it makes things like testing more difficult, because now every package needs an instance of the Laravel framework itself to test integration, which just isn’t efficient at all.
If you’re not a fan of Laravel grouping classes by topic (i.e. controllers, events, jobs, etc) then you might consider a more “modular” structure where you define modules for things like blog, shop, etc. So like “packages”, but the classes remain in your application’s codebase and you’re not having to mess about with package versioning, publishing, and pulling of these packages just to build an application.