marg - PHP开发的原生URL路由器

jopen 11年前

这是一个采用PHP开发的原生http请求路由器。具有易于使用和可扩展的特点。使用指南:

<?php    include 'marg/marg.php';    $routes = array(      '/' => 'home',      '/example_1/([0-9])' => array(          'controller' => 'Example1',          'methods' => array('GET', 'POST'),      ),      '/example_2' => array('Example2', array('GET', 'POST')),      '/example_3' => 'Example3',  );    function home() {      global $request;        if ($request->verb == 'GET') {          echo '<h1>Hello World!</h1>';          if ($request->is_ajax) {              echo json_encode(array('message' => 'JSON works!'));          }      } else {          raise('405');      }  }    function Example1($num) {      global $request;        echo '<h1>Example 1.' . $num . '</h1>';      if ($request->verb == 'POST') {          echo 'A POST request.';      } else {          echo 'A GET request.';      }  }    function Example2() {      global $request;        echo '<h1>Example 2!</h1>';      echo 'Request Type: ' . $request->verb;  }    class Example3 {      function setUp() {          echo '<center>';      }        function tearDown() {          echo '</center>';      }        function get() {          echo '<h1>Example 3!</h1>';      }        function get_ajax() {          echo '<h1>Example 3 - AJAX Request!</h1>';      }  };    function raise_404() {      echo '<h1>Sorry! What you are looking for does not exists. :(</h1>';  }    function raise_405() {      echo '<h1>405: Method Not Allowed</h1>';  }    Marg::addSetUp(function () {  echo '<html><head><title>Marg Examples</title></head><body>'; });  Marg::addTearDown(function () { echo '</body></html>'; });    Marg::run($routes);    ?>

项目主页:http://lib.open-open.com/view/home/1352592999793