小編給大家分享一下php實現(xiàn)路由分配的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
為鏡湖等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及鏡湖網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站設(shè)計、鏡湖網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!php實現(xiàn)路由分配的方法:1、使用require和include方式進(jìn)行php的文件包含;2、利用url中的path去匹配對應(yīng)的控制類,同時調(diào)用其中的方法進(jìn)行相關(guān)操作的處理。
php實現(xiàn)路由分配的方法:
1、文件包含
php的文件包含有兩種方式:require和include,兩個方法的區(qū)別在于利用require包含文件當(dāng)出錯時,會報出嚴(yán)重錯誤,同時PHP腳本會停止運(yùn)行;而利用include包含文件出錯時,會有警告,但PHP腳本仍然會繼續(xù)向下執(zhí)行。同時兩個方法都包含對應(yīng)的xxx_once
方法,可以避免”declare class”的問題。所以一般使用文件包含的時候我們盡量使用include_once
包含文件。
同時在關(guān)于文件包含的路徑問題上,我們可以利用設(shè)置全局變量的方式,依托入口文件的絕對路徑,去尋找其他路徑文件。修改php.ini中的inclue_path
路徑當(dāng)然也是另一種方式,利用require和include包含文件,假如是相對路徑的方式,首先會根據(jù)php.ini配置文件中的include_path
的設(shè)置尋找。
2、路由分配
基于php的路由分配,實質(zhì)上來說就是利用url中的path去匹配對應(yīng)的控制類,同時調(diào)用其中的方法進(jìn)行相關(guān)操作的處理。
一言不合上代碼:
<?php // 權(quán)限控制 include_once './auth.php'; // 應(yīng)用入口文件 date_default_timezone_set("Asia/Shanghai"); header('Content-type: text/html;charset=utf-8'); // 項目根路徑 define('BASEPATH', dirname(__FILE__)); // 調(diào)試模式 define('APP_DEBUG', True); // 引入配置文件 include_once BASEPATH . '/config/config.php'; // 路由控制 $router = include_once BASEPATH . '/config/router.php'; if ($_SERVER['HTTP_HOST'] !== 'xxx.com') { var_dump('當(dāng)前host不被允許'); } else { $request_path = str_replace('/index.php', '', $_SERVER['PHP_SELF']); $request_query = getCurrentQuery(); if (array_key_exists($request_path, $router)) { $module_file = BASEPATH . $router[$request_path]['file_name']; $class_name = $router[$request_path]['class_name']; $method_name = $router[$request_path]['method_name']; if (file_exists($module_file)) { include $module_file; $obj_module = new $class_name(); if (!method_exists($obj_module, $method_name)) { die("要調(diào)用的方法不存在"); } else { if (is_callable(array($obj_module, $method_name))) { $obj_module->$method_name($request_query, $_POST); } } } else { die("定義的模塊不存在"); } } else { echo '頁面不存在'; } }
看完了這篇文章,相信你對php實現(xiàn)路由分配的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
分享題目:php實現(xiàn)路由分配的方法-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://aaarwkj.com/article36/pjdpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣、Google、網(wǎng)站排名、App設(shè)計、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容