当前比较盛行的一些PHP开辟框架如Laravel、ThinkPHP等都是采纳的单一进口形式。
下面我们来完成一个简朴版的单一文件进口框架,包含MVC架构、URL路由的完成。
MVC架构(引荐进修:PHP编程从入门到通晓)
Controller控制器是Model和View二者交互的中介,Model模子层担任读写数据,View视图层担任视图处置惩罚输出。
URL路由道理
基本思路就是阅读器端经由过程URL字符串供应控制器类的名字和要领的名字,PHP据此找到对应的类和要领。
为轻易测试,把一切功用写一个文件,现实框架每一个类为一个文件,进口一个文件。
<?php/** * PHP单一文件框架设想简析 * 1、MVC架构完成 * 2、URL路由道理 *///URL路由道理/** * 路由作用 * 猎取url中的c和a变量,实行c类对应的要领a,完成差别的路由 */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 { //TODO:link db、get data}/** * 视图类 * 编译、缓存及显现模板 */class View { public function render($tpl) { echo "Hi, ".$tpl; //TODO:细致html模板 }}/** * 控制器 * 一切功用控制器继续该类 */class Controller { public $view; public $model; public function __construct() { $this->view = new View(); $this->model = new 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框架单一进口有哪些的细致内容,更多请关注ki4网别的相干文章!