《PHP應用:單一文件入口框架簡析》要點:
本文介紹了PHP應用:單一文件入口框架簡析,希望對您有用。如果有疑問,可以聯系我們。
單一文件入口應用,所有哀求都是通過index.php
接收并轉發到功能代碼中去,因此一些事情變得簡單多了,如數據安全性檢查,訪問統計等.
當前比擬流行的一些PHP開發框架如Laravel
、ThinkPHP
等都是采用的單一入口模式.
下面咱們來實現一個簡單版的單一文件入口框架,包含MVC架構、URL路由的實現.
MVC架構
URL路由原理
基本思路就是瀏覽器端通過URL字符串提供控制器類
的名字和辦法
的名字,PHP據此找到對應的類和辦法.
<?php/**
* PHP單一文件框架設計簡析
* 1、MVC架構實現
* 2、URL路由原理
*///URL路由原理/**
* 應用入口,路由作用
* http://localhost/index.php?c=Index&a=Index
*/class App { public $c; public $a; public function run()
{ $c = isset($_GET['c']) ? $_GET['c'] : "Index"; //url提供類名字的變量名
$a = isset($_GET['a']) ? $_GET['a'] : "Index"; //url提供辦法名字的變量名
$c .= "Controller"; if( class_exists($c) && method_exists($c, $a) ) { $o = new $c();
$o->$a();
}else{
echo "error";
exit();
}
}
}//MVC架構/**
* 模型層
* 獲取應用數據作用
*/class Model { //link db、get data}/**
* 視圖類
* 編譯、緩存及顯示模板
*/class View { public function render($tpl)
{ echo "Hi, ".$tpl;
}
}/**
* 控制器
* 所有功能控制器繼承該類
*/class Controller { public $view; public $model; public function display($tpl = "")
{ echo $this->view->render($tpl); exit();
}
}//具體功能開發class IndexController extends Controller { /**
* 網站首頁
*/
public function Index()
{ $this->display("Index");
} /**
* 網站列表
*/
public function List()
{ $this->display("List");
}
}//單一文件入口$app = new App();$app->run();?>
以上代碼保留為index.php
,然后瀏覽
http://localhost/index.php?c=Index&a=Index
http://localhost/index.php?c=Index&a=List
可看到經過我們的路由后輸出分歧內容!
《PHP應用:單一文件入口框架簡析》是否對您有啟發,歡迎查看更多與《PHP應用:單一文件入口框架簡析》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9085.html