matiasnamendola / slimpower-slim-example
Example of slimpower-slim
Requires
- php: >=5.3.0
- matiasnamendola/slimpower-slim: dev-master
- slim/slim: 2.*
- symfony/yaml: v2.6.0
This package is not auto-updated.
Last update: 2024-11-09 20:56:21 UTC
README
An extension to Slim Framework that allows you use to dynamically instantiated controllers with action methods wherever you would use a closure or callback when routing.
The controller can optionally be loaded from Slim's DI container, allowing you to inject dependencies as required.
Additionally, this extension implements json API's with great ease.
Installation
Create folder /var/www/slimpower and download this repository
In terminal:
mkdir /var/www/slimpower
cd /var/www/slimpower
composer require matiasnamendola/slimpower-slim-example
Or you can add use this as your composer.json:
{ "require": { "slim/slim": "2.*", "matiasnamendola/slimpower-slim-example": "dev-master" } }
.htaccess
Here's an .htaccess sample for simple RESTful API's
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
or
<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:
<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:
sudo a2ensite 000-slimpower sudo /etc/init.d/apache2 restart
or
sudo a2ensite 000-slimpower sudo service apache2 restart
Credits
License
The MIT License (MIT). Please see License File for more information.
Project
Look at slimpower-slim.