亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 55
粉絲 3
評論 0
訪問量 69464
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
路由原理與composer安裝
王佳祥
原創(chuàng)
927人瀏覽過

路由原理與composer安裝

一、路由原理

1.路由是什么

  • 路由其實和路由器是一個道理, 通過一個入口接受請求, 然后通過(URL)匹配規(guī)則將請求分發(fā)到不同的地方。具體到一些主流框架上面,Router模塊會配合Http模塊分析請求, 并且按照一定規(guī)則解析去匹配路由,然后使用調(diào)度模塊使邏輯調(diào)到某塊代碼(通常是控制器),最后返回響應(yīng)。

2.寫一個簡單路由

  1. <?php
  2. namespace mvc;
  3. class UserController
  4. {
  5. public function show($id,$name)
  6. {
  7. return 'Hello '.$name.' id = ' .$id;
  8. }
  9. }
  10. //$pathinfo = explode('/',$_SERVER['PATH_INFO']);
  11. //array_filter():過濾掉空元素
  12. //array_values():將數(shù)組鍵名重置,從0開始
  13. $pathinfo = array_values(array_filter(explode('/',$_SERVER['PATH_INFO'])));
  14. //生成控制器名稱
  15. //array_shift() 函數(shù)刪除數(shù)組中第一個元素,并返回被刪除元素的值
  16. //$controller =ucfirst(array_shift($pathinfo)).'Controller';
  17. //echo $controller.'<hr>';
  18. //完整類名
  19. echo UserController::class;
  20. echo '<hr>';
  21. echo __NAMESPACE__.'<hr>';
  22. $controller =__NAMESPACE__ . '\\' . ucfirst(array_shift($pathinfo)).'Controller';
  23. echo $controller.'<hr>';
  24. //解析控制器方法
  25. //array_pop() 函數(shù)刪除數(shù)組中的最后一個元素,并返回其值
  26. $action = array_shift($pathinfo);
  27. /* echo $action.'<hr>';
  28. echo (new $controller)->$action();
  29. echo '<hr>';
  30. echo call_user_func([(new $controller),$action]); */
  31. print_r($pathinfo);
  32. echo '<hr>';
  33. $params = [];
  34. for ($i=0;$i<count($pathinfo);$i+=2){
  35. if(isset($pathinfo[$i+1])) $params[$pathinfo[$i]] = $pathinfo[$i+1];
  36. }
  37. print_r($params);
  38. echo '<hr>'.call_user_func_array([(new $controller),$action],$params);


二、composer下載

三、學(xué)習(xí)總結(jié)

  • 主要是理解路由的原理,通過$_SERVER[‘PATH_INFO’]全局變量獲取控制器名,方法名和參數(shù),然后再調(diào)用類中的方法,url地址會把值傳給$_SERVER[‘PATH_INFO’],從而間接調(diào)用類方法

  • array_filter():過濾掉空元素

  • array_values():將數(shù)組鍵名重置,從0開始

  • array_shift() 函數(shù)刪除數(shù)組中第一個元素,并返回被刪除元素的值

  • array_pop() 函數(shù)刪除數(shù)組中的最后一個元素,并返回其值

  • composer 是管理php依賴關(guān)系的工具

批改老師:天蓬老師天蓬老師

批改狀態(tài):合格

老師批語:路由實現(xiàn)方式有許多種的, 老師只是提供了一個思路而已
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務(wù)協(xié)議
0條評論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費學(xué)