Recs.
Updated
SpecsUpdate
Pros
Pro Middleware for executing code at different points in its life-cycle
Slim supports middleware for executing functions at different points in time during the application's lifecycle.
Pro Supports tie-ins for Rack-like middleware
Rack is an interface used in Ruby frameworks used to group and order modules, which most of the time are Ruby classes, and specify between them.
Slim uses a simple concept for it's middleware. By wrapping HTTP requests and responses it unifies the middleware into a single method call.
Cons
Con Needs strong bases to create dependencies
The dependency container schema of Slim is one of the biggest PROS and CONS of the framework. It is true that this schema brings so much flexibility to add anything, but another thing that is true is that you need to have strong bases of patterns, and an extensive knowledge of your libraries to convert it into a Slim dependency.
Con Too minimal
While it's true that Slim is a microframework, it's still too minimal. When used for throwaway projects or simple prototypes, it's perfect. But in the long run, it becomes less and less useful and you end up in implementing a fully custom framework in trying to tackle all the missing features.
So in the end, if the project would go further than a prototyping stage it would be easier to just implement another microframework that has those missing features out of the box.