Slim Framework for beginners

FrameworksSlim

Frameworks Problem Overview


How does anybody learn how to use this system?

I can't seem to find any tutorials or books or anything on how to use this program. Yes their website briefly explains a few things but there is no clarification or anything. Google has failed me.

Can anyone help me with this? I need to use this but it looks completely foreign to me.

Frameworks Solutions


Solution 1 - Frameworks

UPDATE: After 3 years, It is time to add some updates to this answer. A lot has changed in slim framework (and even PHP) during this time.

Slim version 3 has been released and brought some major changes to it. In my tests, It is slightly slower and tad more complicated than slim 2, But architecture wise, it is much better, secure, suited for both large projects and small website alike.
Also, PHP has adopted really good standardization in form of PSR which I think everyone should start to adopt. Object-oriented implementation is improved a lot in 3 years and with the release of PHP 7, I don't miss my Java days anymore.

Some links to getting started.

Treehouse and few others have made some tutorials on Slim 2 as mentioned in comments, they are worth looking. Slim 3 is yet to have a beginner's tutorial videos but framework in itself is simple to understand. For simple websites, I would still recommend Slim 2 for those not really an experienced programmer. But if someone is trying to build a big professional application/product, Use Slim 3.


older answer

I will agree that slim lacks certain attentions in terms of documentation and guides. There is still no great tutorial for it, but if you have good pickup skills, Let me point you to the only worthwhile thing I found on net.

This is Presentation on the slim framework. Not a complete tutorials but it does explain certain basics to use the framework. It has helped me when I first picked up the framework. It is a Presentation By Jeremy Kendall.

The Slides can be found on slideshare.

The video is 43 min long but it is worth.

Solution 2 - Frameworks

This is how I did it.

I read few tutorials from people up there then I "walked" through code. Slim is really "slim", only ~50 files.

Check Slim.php file, everything starts there. See what's going on in the constructor, then see get/post methods. If you have xdebug installed then it could help you walk through one simple request and so on.

And as an added bonus you will learn a lot about PHP, patterns, basically how everything works.

P.S. My first answer here :)

Solution 3 - Frameworks

Key point from the presentation mentioned above by Jeremy Kendall (do watch it), that the docs don't mention until 2/3rds of the way down: to let Slim handle the routing, you need an .htaccess file:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

Et voila, the example at the start of the Slim docs will now work for you. smacks forehead

More info on the syntax and content of these .htaccess rules:

Solution 4 - Frameworks

Simple Example

Neeeded 3 files

  • file to program(eg- index.php/myfile.php)
  • Slim(downloaded package)
  • .htaccess

Step 1: .htaccess file

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php [QSA,L]

Step 2: myfile.php

require 'Slim/Slim.php';

\Slim\Slim::registerAutoloader();

$app=new \Slim\Slim();

$app->get('/',function() {

    echo "Hello World";

});
$app->run();

Running Program

localhost/project1/myfile.php

More tutorials

http://nesbot.com/2012/6/26/multilingual-site-using-slim

https://github.com/briannesbitt/Slim-ContextSensitiveLoginLogout

Solution 5 - Frameworks

The following posts helped me a lot in getting me started with my first slim application. But they are very specific to building RESTful web services.

ericbrandel.com

androidhive.info

coenraets.org

I went through the posts and then downloaded the code to play with them. Later I was able to mix and match the best pieces and start my development in under 2 days time.

Solution 6 - Frameworks

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionswhitmoreView Question on Stackoverflow
Solution 1 - FrameworksAbhinav KulshreshthaView Answer on Stackoverflow
Solution 2 - FrameworksDinkoMView Answer on Stackoverflow
Solution 3 - FrameworksReneeView Answer on Stackoverflow
Solution 4 - FrameworksAkshaya MoorthyView Answer on Stackoverflow
Solution 5 - FrameworksAnandaView Answer on Stackoverflow
Solution 6 - FrameworksAntonio Garcia MarinView Answer on Stackoverflow