小編給大家分享一下實現一個簡單php框架的示例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
為金水等地區用戶提供了全套網頁設計制作服務,及金水網站建設行業解決方案。主營業務為成都做網站、網站建設、金水網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
首先看一下現有的文件目錄

DOCUMENT_ROOR 為 /home/www目錄
然后看一下入口文件的內容
<?php
$controll_action = $_GET['_ca_'];
$params = explode('/',$controll_action);
$params_count = count($params);
$otherParams = $params;
if($params_count>1) {
$controller = $params[0];
$action = $params[1];
unset($params[0]);
unset($params[1]);
}else if($params_count==1) {
$controller = $params[0];
$action = 'index';
unset($params[0]);
}
$filename = strtolower($controller).'.php';
$controller_path = $_SERVER['DOCUMENT_ROOT'].'/application/controllers/';
if(!file_exists($controller_path.$filename)) {
throw new Exception('controller '.$filename.' is not exists!');
return;
}
include($controller_path.$filename);
$classname = ucfirst($controller);
if(!class_exists($classname)) {
throw new Excpetion('class '.$classname.' is not exists!');
}
$reflecObj = new ReflectionClass($classname);
if(!$reflecObj->hasMethod($action)){
throw new Exception('method '.$action.' is not exists!');
}
$currentObj = new $classname();
echo "classname=$classname,action=$action,params=".json_encode($params)."<br/>";
call_user_func_array([$currentObj,$action],$params);
return;
?>然后創建一個簡單的控制器 user.php,放到applicaiton/controllers/目錄下,具體內容如下:
<?php
class User {
function __construct(){
}
public function index($name='')
{
echo 'hello,'.$name.',lucky,you are arrive here!';
}
}最后測試一個正確的控制器跳轉和錯誤的控制器跳轉
首先測試一下正確的流程: http://192.168.1.99/user/index/xiaoming
輸出內容:
classname=User,action=index,params={"2":"xiaoming"}
hello,xiaoming,lucky,you are arrive here!再測試一下不存在的控制器,http://192.168.1.99/account/index/xiaoming
Fatal error: Uncaught exception 'Exception' with message 'controller acount.php is not exists!' in /home/www/webroot/index.php:25Stack trace:#0 {main} thrown in
/home/www/webroot/index.php on line 25看完了這篇文章,相信你對“實現一個簡單php框架的示例”有了一定的了解,如果想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
網頁標題:實現一個簡單php框架的示例
URL鏈接:http://www.yijiale78.com/article12/gddjgc.html
成都網站建設公司_創新互聯,為您提供做網站、網站排名、關鍵詞優化、網站建設、、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯