Skip to content
codeguy edited this page Jan 4, 2011 · 155 revisions

Road Map

Created September 25, 2010
Updated November 23, 2010

This is the official Slim framework roadmap working draft. This is a living document that may very well change in the future.

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

Git Workflow

Slim uses the same Git workflow as described at http://nvie.com/posts/a-successful-git-branching-model/. The master branch will always represent the latest production-ready point release. The develop branch will contain the latest features pending the next point release; the develop branch is not guaranteed to be stable, but it will more than likely work since new features are developed locally on separate Git branches and only merged into the develop branch when thought to be stable.

Version 1.1 (In Progress)

  • View interface updates
    • The View class now has a brand new method interface
    • In custom View classes, CustomView::render() should return output rather than echo output
    • View now supports View::render() to return a rendered template, and View::display() to echo a rendered template
  • Plugin architectureSee https://github.com/codeguy/Slim/wiki/Slim-Framework-Documentation#slim-plugins
  • Content negotiation (on pause for a bit)
  • AuthenticationRemoving from 1.1. Someone can feel free to create an authentication plugin using the new Hook Plugin System. I don't think this needs to be hard-coded into the core framework.
  • Routing updates
    • Application-wide route conditions
    • Optional route segments with default values Done. See develop branch.

Version 1.0 (Released November 2, 2010)

  • Initial test coverage for primary classes
  • Slim class loader
  • Establish version numbering system
  • Move Getting Started and Documentation to GitHub Wiki
  • HTTP caching (ETag and LastModified)
  • Cookie management
  • Route redirects
  • Route passing
  • Route naming and urlFor helper
  • Instantiate View in Slim::init()
  • Improve Exception and Error handling
  • Add "Contributing to Slim" Wiki page with expectations, style guidelines, etc.
  • 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
  • Ensure inline documentation for Slim classes is complete

Long Term Features

Clone this wiki locally