matiasnamendola/slimpower-slim-example

v0.0.1-alpha 2016-12-06 18:25 UTC

This package is not auto-updated.

Last update: 2024-04-13 17:41:08 UTC


README

Latest version Total Downloads

Latest Stable Version Latest Unstable Version Total Downloads Monthly Downloads Daily Downloads composer.lock available

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.