topsitemakers/superglue

There is no license information available for the latest version (dev-master) of this package.

dev-master 2013-11-10 14:21 UTC

This package is not auto-updated.

Last update: 2025-09-13 16:37:11 UTC


README

Legacy PHP "microframework" for quick prototyping

This is basically a modified version of the existing Glue class for mapping URLs to classes. Its purpose is mainly for quick and dead-simple prototyping, with as little overhead as possible.
It does not use any of the PHP 5.3+ features, and should work everywhere with PHP 5.x+ installed.

Differences between this and the original class are:

  • Matching classes and methods instead of direct functions. This allows better app organization.
  • Using regex tokens for arguments (e.g. , , <alpha|case-insensitive>, , <alphanumeric|case-insensitive>).
  • Removed protocol functions (GET() and POST()).

Shipped with a very simple .htaccess for readable URLs.

Usage:

You first need to define URLs that will be accessible:

require 'superglue.php';

// Define URLs
$urls = array(
  
  // This will be binded to class "sample" and method "index"
  '/' => 'sample',
  // This will be binded to class "sample" and method "page"
  '/sample' => array('sample', 'page'),

  // RESTful example
  // If we do not pass an array here, superglue will check if the class has
  // method named as the request method (GET, POST, DELETE, PUSH)
  '/restful' => 'restful',

);

Define classes that will be called on appropriate routes:

// Our sample class
// Classes are better than direct functions for code organization and for
// avoiding name clashes.
class sample {
  function index() {
    print 'home page';
  }
  function page() {
    print 'sample page';
  }
}

// Example RESTful class
// Each method corresponds with the request method.
class restful {
  function GET() {
    print 'GET method.';
  }
  function POST() {
    print 'POST method.';
  }
  function PUSH() {
    print 'PUSH method.';
  }
  function DELETE() {
    print 'DELETE method.';
  }
}

That's it - start the app!

superglue::stick($urls);

Credits

Glue

By: topsitemakers.com.