What the ...?

Slim Framework with infrastructure magic and pixies.

Concept

As web developer, you need some infrastructure code for your applications. For example: dependency manager, router, DI container and so on.

We need such tool, too. That's why we created TiSuit.

Main idea is simple: we already implemented lots of infrastructure logic (config resolver, "magic system parent" and so on), we just need to bundle it in separate package to use in any other projects without Ctr+C/Ctr+V

Basic Requirements

  1. We need a simple http request/response handler
  2. We need good DI container
  3. We are too lazy to implement it ourself
  4. Symfony, Laravel and so on is too big for us and have lots of disadvantages.

Ok, Slim Framework is our (good) choise!

Real requirements

  1. Well, Slim is really good, but we need some tool for convenient config management. Result: Config class, adopted from PHPixie 2.x. Thank you, @dracony :)
  2. Ok, but we wanna magic! We don't want to call $app->getContainer()->get('something') each time, it's too long. Result: DefaultRoot class from rakshazi/slim-suit (TiSuit "grandpa")
  3. Hm... Ok, but I really need to extend parent DefaultRoot class. Welcome, Root class. Just magic proxy to DefaultRoot or it's child in your app namespace. It's like a workaround for dynamic inheritance in PHP. Looks ugly, hah?
  4. And final step: comfortable DI configuration (slim's dependencies.php is too ugly and unusable). Welcome Provider class, thank you, Pimple

Conclusion

We built very flexible solution, which allow you to create business logic of your app, without any worries about infrastructure code (note: 100% test coverage).