Thank you for choosing the Slim Framework, a micro-framework for PHP 5 inspired by Sinatra.
The Slim Framework for PHP 5 provides the following notable features out-of-the-box:
- Clean and simple DSL for writing powerful web applications
- RESTful HTTP 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, ...)
- Secure sessions
- Signed cookies with AES-256 encryption
- Flash messaging
- HTTP caching (ETag and Last-Modified)
- Logging
- Error handling
- Supports PHP 5+
The Slim Framework for PHP 5 supports anonymous functions. 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 for PHP 5 and unzip the downloaded file into your virtual host's public directory. Slim will work in a sub-directory, too.
Ensure the .htaccess
and index.php
files are in the same public-accessible directory. The .htaccess
file should contain this code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Your Slim application will be defined in index.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 continually improving.
For the most up-to-date information and news, follow the Slim PHP 5 micro framework on Twitter:
http://www.twitter.com/slimphp
Additional resources (ie. custom Views and plugins) are available online in a separate repository so this primary repository remains as light-weight as possible.
https://github.com/codeguy/Slim-Extras
Other helpful links:
- 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/slimphp
- LinkedIn: http://www.linkedin.com/in/joshlockhart
- Email: [email protected]
Slim is released under the MIT public license.