marg - PHP开发的原生URL路由器
jopen
12年前
这是一个采用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); ?>