1. 程式人生 > >php 的路由簡介 (一個簡單的路由模式)

php 的路由簡介 (一個簡單的路由模式)

spa fun get body pat 傳參 post lod export

<?php
$_SERVER[‘REQUEST_URI‘] = ‘/post/edit/1024?foo=bar‘;
$uri = explode(‘/‘, parse_url($_SERVER[‘REQUEST_URI‘], PHP_URL_PATH));
var_export($uri);
//輸出
array (
  0 => ‘‘,
  1 => ‘post‘, //控制器(控制器存在就require)
  2 => ‘edit‘, //方法
  3 => ‘1024‘, //參數(獲取參數foo就用傳統的$_GET[‘foo‘])
)

$class = $uri[1];
require
‘controller/‘.$class.‘.php‘; // controller/post.php $object = new $class(); $action = $uri[2]; $parameter = $uri[3]; echo call_user_func_array(array($object, $action), array($parameter)); //調用對象裏的方法並傳參 controller/post.php: class post { public function edit($id) { return ‘$‘.__CLASS__.‘->‘.__FUNCTION__
.‘(‘.$id.‘)‘; //輸出 $post->edit(1024) } }

php 的路由簡介 (一個簡單的路由模式)