Skip to content
codeguy edited this page Oct 30, 2010 · 155 revisions

Road Map

Created September 25, 2010
Updated October 6, 2010

This is the official Slim framework roadmap working draft. This is a living document that may very well change in the future. Phase 1 will be completed first, followed by Phase 2 and Phase 3.

What are Slim's goals?

  1. Remain light-weight, simple, and easy to use for both amateur programmers and professional programmers
  2. Always favor clean syntax and simple solutions instead of messy syntax and complex solutions
  3. Respect the 80/20 rule: satisfy 80% of common use cases rather than muddle the code-base for 20% of edge use cases
  4. Support PHP 5 and above

Version 1.0

Phase 1

  • Write initial unit test coverage for primary Slim classes Done for now. The Slim, Request, and Response classes are still in flux. I will gradually achieve 100% coverage soon as these classes become stable
  • Write Slim class loader
  • Establish Slim version numbering system Slim will be considered "alpha" software until Phase 1, Phase 2, and Phase 3 are complete. When all three Phases are complete, Slim will be considered "stable" and at that point I will label Slim as "1.0". Rest assured, it will not take that long to reach 1.0 status.
  • Migrate Slim documentation to the GitHub Wiki

Phase 2

  • Add HTTP Caching (LastModified and ETag header support)See HTTP Caching
  • Improve Slim cookie management (send cookies with Response, not when set)See Slim::Session in the Docs
  • Add redirect helper method... Slim::redirect( '/path' [, status] );
  • Add pass helper method... Slim::pass();
  • Add urlFor helper method... Slim::urlFor('route-name'); This is currently in the Router object, but will add to Slim as a helper to shorten necessary code.
  • Instantiate default View in Slim::__construct so we can set individual View data before calling Slim::render().
  • Improve error reporting and exception handling. Add try/catch block to Slim::run() to catch exceptions and return 500 response.

Phase 3

  • Add "Contributing to Slim" Wiki page with expectations, style guidelines, etc. See Contributors Guide
  • Write example custom View classes for Twig, Smarty, Mustache, etc.
  • Add Slim app settings
  • Add Slim app logging
  • Improve test coverage for Request and Response

Version 1.1

Marketing v1.1

Currently, my primary objective is to make Slim an incredible product. I don't care about marketing or competitors or seo. When Slim reaches "1.0", however, I will start actively marketing the Slim Framework to a larger set of PHP developers; I will start an official Slim Framework blog to make it easier to follow Slim Framework development progress; and I will drastically improve Slim's search engine optimization to boost Slim's PageRank compared to competiting frameworks. In summary:

* Polish website
* Move website onto CMS
* Add blog and RSS feed
* Improve SEO

Planned Features for v1.1

  • Content negotiation
  • Authentication
  • Routing updates
    • User-agent route conditions
    • Application-wide route conditions
    • Default parameter values
  • Encrypted cookies

Clone this wiki locally