Git Product home page Git Product logo

apilot-engine's Introduction

Apilot

Fast automatic files based router with Caching routes

alt text

WARNING

Design api carefully

Installation

Using Composer

    composer require nabeelalihashmi/apilot-engine

Manual

Just download the Apilot.php file, include in your project. Configure .htaccess.

<?php
    $apilot = new Apilot($handlers_path, $cache_path, $optional_server_basepath);
    $apiot->on404(function() {
        ...
    });
    $apilot->takeoff();
?>

.htaccess files

  • Copy extras/root.htaccess in root folder and rename it to .htaccess.
  • Copy extras/public.htaccess in public folder and rename it to .htaccess.

Routes

Make a folder for handlers. Each file in that cockpit folder corresponds to a route.

e.g.

cockpit/
    index.php -> /
    about.php -> /about
    contact.php -> contact
    ...

Each file must have at least one handler method. The name of the method must be handle.

e.g.

    function GET() {

    }

    function POST() {

    }

    function PUT() {

    }
    

Dynamic routes

To make a route accept dynamic value, use : in the route.

e.g.

    File: cockpit/users/:id/edit.php
    URI: /users/:id/edit

    function GET($id) {
        ...
    }
s
    File: cockpit/users/:id/:action.php
    URI: /users/:id/:action

    function GET($id, $action) {
        ...
    }

Optional Parameters

To make a route optional, make the parameter optional with ?.

    File: cockpit/list/:page?.php
    URI: /list/:page?

    function GET($page = 1) {
        ...
    }

Rules

  • Optional Routes must place at end
hello/:who? Good
hello/:who?/level2 Bad
hello/:who?/level2 Bad

Middleware

You can use middleware to do something before and after the route. You can use before and after appended to handler method name. before middleware must return true to continue.

function GET() {

}

function before_GET() {
    return true;
}

function after_GET() {

}

Route Not Found

Apilot will call the on404 function if the route is not found. You can use this function to redirect to 404 page or do something else.

usage:

$apilot->on404(function() {
    ...
});

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.