SlimPower - Slim - Example
![Total Downloads][ico-downloads], (*1)
, (*2)
An extension to [Slim Framework][1] that allows you use to dynamically
instantiated controllers with action methods wherever you would use a
closure or callback when routing., (*3)
The controller can optionally be loaded from Slim's DI container,
allowing you to inject dependencies as required., (*4)
Additionally, this extension implements json API's with great ease., (*5)
Installation
Create folder /var/www/slimpower and download this repository, (*6)
In terminal:, (*7)
mkdir /var/www/slimpower
cd /var/www/slimpower
composer require matiasnamendola/slimpower-slim-example
Or you can add use this as your composer.json:, (*8)
{
"require": {
"slim/slim": "2.*",
"matiasnamendola/slimpower-slim-example": "dev-master"
}
}
.htaccess
Here's an .htaccess sample for simple RESTful API's, (*9)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
or, (*10)
<ifModule mod_headers.c>
Header always set Access-Control-Allow-Headers "Authorization"
</ifModule>
Apache VirtualHost
Create conf file 'slimpower.conf' in folder '/etc/apache2/sites-available'
with this content:, (*11)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName dev.slimpower.com
DocumentRoot /var/www/slimpower
ErrorLog /var/log/apache2/slimpower-custom-error.log
CustomLog /var/log/apache2/slimpower-custom.log common
#TransferLog /var/log/apache2/slimpower-custom.log
<Directory /var/www/slimpower/>
Options -Indexes
AllowOverride AuthConfig FileInfo
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE image/gif
</Directory>
<files "*.conf">
order allow,deny
deny from all
</files>
<files "*.ini">
order allow,deny
deny from all
</files>
<files "*.json">
order allow,deny
deny from all
</files>
<DirectoryMatch "^/.*/(\.git|CVS)/">
Order deny,allow
Deny from all
</DirectoryMatch>
</VirtualHost>
Next, copy this in terminal:, (*12)
sudo a2ensite 000-slimpower
sudo /etc/init.d/apache2 restart
or, (*13)
sudo a2ensite 000-slimpower
sudo service apache2 restart
Credits
License
The MIT License (MIT). Please see License File for more information., (*14)
Project
Look at slimpower-slim., (*15)