2017 © Pedro Peláez
 

library slimext

Addon for Slim microframework, adding components and routes prefix support

image

shadowprince/slimext

Addon for Slim microframework, adding components and routes prefix support

  • Monday, December 2, 2013
  • by ShadowPrince
  • Repository
  • 1 Watchers
  • 1 Stars
  • 25 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

SlimExt

SlimExt - monkeypatched extension to slim, that added functionality of nested routes (for easy url prefixing and adding middlewares), component support (not symfony)., (*1)

Route url prefixes

$app->prefix("/uac", function () use ($app) {
    // Route registered as /uac/login
    $app->get("/login", function () use ($app) {
        $app->render("login", array());
    });
});

or even, (*2)

$app->prefix("/uac", Middleware::userLogged(), function () use ($app) {
    $app->prefix("/edit", function () use ($app) {
        $app->map("/avatar", function () use ($app) {});
        $app->map("/info", function () use ($app) {});
        $app->prefix("/photos", Middleware::userCanManagePhotos(), function () use ($app) {
            $app->map("/upload", function () use ($app) {});
            $app->map("/delete/:id", function ($id) use ($app) {});
            $app->map("/edit/:id", function ($id) use ($app) {});
        });
    });
});

Middleware

$app->prefix("/admin", Midleware::userAdmin(), function () use ($app) {
    // Routes registered with Middleware::userAdmin() middleware
    $app->get("/", function () use ($app) {/* ... */});
    $app->get("/users", function () use ($app) {/* ... */});
});

Components

// Uac/urls.php
$app->prefix("/uac", function () use ($app) {
    $app->map("/login", function () use ($app) {
        // ...
    });
});
// bootstrap
$app->config("comps", array("Uac"));
$app->loadComponents();

Route /uac/login/ registered and ready., (*3)

Another example - integration with autoparis. You can automaticly grab all models (detached to components) just from $app->config("comps")., (*4)

Services

Service - instance for adding new functionality into $app:, (*5)

class MyApp extends \SlimExt\SlimExt {
    public function user() {
        return $this->user_service_instance;
    }
}

class UserService extends \SlimExt\SlimService {
    public function __construct($app) {
        $this->defaultConfig($app, array(
            "default config" => "can be here"
        ));
    }

    public function isLogged() {
        // ...
    }
}

The Versions

02/12 2013

dev-master

9999999-dev http://shadowprince.github.com/slimext

Addon for Slim microframework, adding components and routes prefix support

  Sources   Download

BSD

The Requires

 

slim microframework addon

17/11 2013

0.1.5

0.1.5.0 http://shadowprince.github.com/slimext

Addon for Slim microframework, adding components and routes prefix support

  Sources   Download

BSD

The Requires

 

slim microframework addon

31/10 2013

0.1.4

0.1.4.0 http://shadowprince.github.com/slimext

Addon for Slim microframework, adding components and routes prefix support

  Sources   Download

BSD

The Requires

 

slim microframework addon

31/10 2013

0.1.3

0.1.3.0 http://shadowprince.github.com/slimext

Addon for Slim microframework, adding components and routes prefix support

  Sources   Download

BSD

The Requires

 

slim microframework addon

15/10 2013

0.1.2

0.1.2.0 http://shadowprince.github.com/slimext

Addon for Slim microframework, adding components and routes prefix support

  Sources   Download

BSD

The Requires

 

slim microframework addon

11/10 2013

0.1.1

0.1.1.0 http://shadowprince.github.com/slimext

Addon for Slim microframework, adding components and routes prefix support

  Sources   Download

BSD

The Requires

 

slim microframework addon

11/10 2013

0.1

0.1.0.0 http://shadowprince.github.com/slimext

Addon for Slim microframework, adding components and routes prefix support

  Sources   Download

BSD

The Requires

 

slim microframework addon