Thank you for choosing Slim, a micro-framework for PHP 5 inspired by Sinatra.
Slim provides the following notable features out-of-the-box:
- Clean and simple DSL for writing powerful web applications
- RESTful routes (GET, POST, PUT, DELETE)
- Named routes w/
urlFor()
helper - Route passing
- Route redirects
- Route halting
- Custom Not Found handler
- Custom Error handler
- Optional route segments... /archive(/:year(/:month(/:day)))
- Named routes w/
- Easy app configuration
- Easy templating with custom Views (ie. Twig, Smarty, Mustache, ...)
- Cookie handling with optional AES-256 encryption
- HTTP caching (ETag and Last-Modified)
- Logging
- Error handling
- Supports PHP 5+
The Slim Framework supports anonymous routes. This is the preferred method of defining Slim application routes.
<?php
require 'slim/Slim.php';
Slim::init();
Slim::get('/hello/:name', function ($name) {
echo "Hello, $name!";
});
Slim::run();
?>
If you are running PHP 5 < 5.3, the second Slim::get
parameter will be the name of a callable function instead of an anonymous function.
<?php
require 'slim/Slim.php';
Slim::init();
Slim::get('/hello/:name', 'hello');
function hello($name) {
echo "Hello, $name!";
}
Slim::run();
?>
Download the Slim Framework and unzip the downloaded file into your virtual host's public directory. Slim will work in a sub-directory, too.
Ensure the .htaccess
and bootstrap.php
files are in the same public-accessible directory. The .htaccess
file should contain this code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ bootstrap.php [QSA,L]
Your Slim application will be defined in bootstrap.php
. First, require
the Slim Framework:
require 'slim/Slim.php';
Next, initialize the Slim application:
Slim::init();
Next, define your application's routes:
Slim::get('/hello/:name', function ($name) {
echo "Hello $name";
});
Finally, run your Slim application:
Slim::run();
For more information about building an application with the Slim Framework, refer to the official documentation.
Slim is created and maintained by Josh Lockhart, a web developer by day at New Media Campaigns, and a hacker by night.
Slim is in active development, and test coverage is improving rapidly as Slim nears its official 1.0 release.
- Road Map: http://github.com/codeguy/Slim/wiki/Road-Map
- Documentation: http://github.com/codeguy/Slim/wiki/Slim-Framework-Documentation
- Source Code: http://github.com/codeguy/Slim/
- Twitter: http://www.twitter.com/codeguy
- LinkedIn: http://www.linkedin.com/in/joshlockhart
- Email: info@joshlockhart.com
Slim is released under the MIT public license.