1. 程式人生 > >TP5基礎持續更新 第三次(URL模式和定義路由和獲取請求引數)

TP5基礎持續更新 第三次(URL模式和定義路由和獲取請求引數)

在這裡先說一下URL模式,通俗的說就是就是定義訪問路徑,URL路徑模式有三種


手冊中有介紹,大佬都是第三種,看個人喜好


這是具體配置檔案。

現在說說怎麼定義路由,上一文章只是為了縮短訪問路徑而寫的一個簡單路由這裡給大家寫詳細的

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <[email protected]
>
// +---------------------------------------------------------------------- use think\Route; Route::rule('路由表示式','路由地址','請求型別','路由引數(陣列)','變數規則(陣列)'); //GET,POST,DELETE,PUT,* 這幾個是請求型別,用postman測試,預設是*所有的都可以 //Route::rule('hello','sample/test/hello','GET');只能使用GET方式訪問 //Route::rule('hello','sample/test/hello','GET',['https'=>false]);開啟關閉陣列路由引數,手冊有很多引數配置
//Route::rule('hello','sample/test/hello','GET|POST',['https'=>false]);允許兩個請求型別 post和get //Route::post('hello','sample/test/hello');指定post方式 //Route::get('hello','sample/test/hello');指定get方式 //Route::any('hello','sample/test/hello');any就是*所有的 //路由的定義 up //Route::get('hello/:id','sample/test/hello');//定義引數 傳參 第一個寫法 第二個就是在z.cn/hello/123?name=aqi Route::post('hello/:id','sample/test/hello');//post傳參 引數定義雷同get 第三個變數在postman中body中key和value中寫 //?變數名+變數值 這個引數定義方式不需要在這裡定義,直接在url後定義
這是詳細的配置方式,建議大家一個一個試一下,推薦測試工具 postman 免費。

獲取請求引數的方法在這裡分為三種,個人理解,不喜勿噴。

第一種:

Route::get('hello/:id','sample/test/hello');
這裡定義的路由是用get方式傳遞引數,id就是咱們定義的引數,,這裡定義一個引數
public function hello($id,$name){
echo $id;
echo '|';
echo $name;
} 在控制器中我們選擇兩個引數,這裡都是通過url來傳遞引數


通過url傳遞引數,這樣就可以顯示出來了,用postman測試post方式也是ok的。ps:路由那傳遞方式要換成post,

ok,來看第二種

use Think\Request;//第二種獲取引數
class Test
{
      public function hello(){
  TP5接收單一變數的寫法param獲取所有變數基本等同於3.2 I 方法
//          $id = Request::instance()->param('id');
//          $name = Request::instance()->param('name');
//          $age = Request::instance()->param('age');
//          接受所有變數
//          post/get/route也可以指定接收變數POST('ID')
//          $age = Request::instance()->param('');接收所有變數
//          $all = Request::instance()->route(); 獲取url的引數變數獲取id z.cn/hello/123
//          $all = Request::instance()->get();獲取get傳遞引數?後面的,z.cn/hello?name=
//          $all = Request::instance()->post();獲取post傳遞引數
//          $all = Request::instance()->route();
} } 這裡程式碼中寫的夠直接夠粗暴了,直接呼叫param方法,我們就不多解釋了,直接接受之後列印就可以了。

現在看第三種,第三種也是tp5的方法但是比較簡潔

 獲取所有變數便捷方法 第三種獲取引數
//          $all = input('param.');所有變數
//          $all = input('param.name');單個變數
//          $all = input('post.age');指定方式獲取變數 post/get/
直接呼叫input,這個不管你什麼方式傳遞,post get啊都直接接收。

今天到這.....

相關推薦

TP5基礎持續更新 URL模式定義路由獲取請求引數

在這裡先說一下URL模式,通俗的說就是就是定義訪問路徑,URL路徑模式有三種 手冊中有介紹,大佬都是第三種,看個人喜好 這是具體配置檔案。 現在說說怎麼定義路由,上一文章只是為了縮短訪問路徑而寫的一個簡單路由這裡給大家寫詳細的 <?php // +-------

Androidlayout——02

1. 相對佈局(重點)   1.1 相對佈局視窗內子元件的位置總是相對兄弟元件、父容器來決定的,因此叫相對佈局  1.2 如果A元件位置是由B元件的位置決定的,Android要求先定B元件,再定義A元件       如果A元件位置是由B元件的位置決定的,Android要求先

IP通信基礎課堂筆記------重點

同時 由於 重要 相對 auth 分開 數學 ip協議 互連 一. IPv4地址格式 網絡互連的一個重要前提條件是要有一個有效的地址結構,並且所有的互連網絡用戶都應遵守這個地址結構。因為只有這樣所有的互連網絡用戶才能在統一的規定下相互之間通訊。這個地址結構可以有許多不同的

Android——高階控制元件下拉框與搜尋框

1. 高階控制元件與低階控制元件區別    是否使用介面卡 2. 介面卡種類和作用   2.1 種類       陣列介面卡 ArrayAdapter         new ArrayAdapter<String>(this,R.layout.actv_sty

leecode無重復字符的最長子串

inf push_back 檢測 com lee 比較 pub png 記錄 class Solution { public: int lengthOfLongestSubstring(string s) { int len=s.siz

讀取application.yml/application.properties中的引數或讀取自定義配置檔案中的引數

使用springboot搭建專案的話,如果程式碼裡需要讀取配置檔案資訊,動態生成資料該怎麼辦呢,其實可以直接寫到springboot配置檔案當中,自己定義標籤來讀取。 application.yml與application.properties有什麼不同呢? (1)yml檔案用縮排代替pro

學習筆記C語言基礎介紹

函數定義 命令格式 建議 行程 print c代碼 hid 開發環境 調用 1.system函數:功能:在已經運行的程序中執行另外一個外部程序頭文件:#include<stdlib.h>參數:外部可執行程序名字示例代碼:#include<stdio.h&g

滄海一粟小組作業

前臺 相關信息 span 驗證碼 時間 身份證 旅遊 辦理 研究 經過我們小組的研究和討論,我們組將這個酒店管理系統的具體功能完善了一下。 入住大致分為兩大類:網上預約過的以及沒預約過的。 網上預約的是在網上填寫基本信息,以及選擇的是什麽套房,到酒店以後通過手機短信的驗

軟工實踐學習

bsp ima 增刪改查 pri 增刪 ext 處理 logs ring 經過這一段時間的ssh框架學習,通過老師帶我們完成一個項目後,我們需要自己從0開始,開始新的項目,重新搭建框架 這次我選擇的是庫存管理系統 首先依然是搭建hibernate,以及spring。

短學期3感悟

完成 越界 package 索引 lib 寫入 etc 用戶 spring 1.修改數據的各項配置都配置好之後,點擊修改還是不能修改客戶信息,跳出了下圖這個界面,百度之後顯示這個錯誤是指數組超出索引,數組越界了,但還是不會修改 把<s:action name=

【第二組】項目沖刺Beta版本每日例會 2017/7/19

上傳 經理 jpg 暫時 代碼 strong 傳輸 image nbsp 項目沖刺(Beta版本)第三次每日例會 開發小組:Hunter 沖刺經理:林貴淵 小組成員:林軒宇,劉仁人,張太,李明君 1、每日例會內容 (1)昨天做了什麽 1、林軒宇:註冊功能,數據庫構建

TCP 握手相當於寄信需要回執,第一握手:我寄給你一封信。第二握手:你回我一封信。握手:我再給你一個回執,這樣你才能確認我收到信了

需要 flags 並發 如果 details live 丟失 tail 進行 TCP 連接是通過三次握手進行初始化的。三次握手的目的是同步連接雙方的序列號和確認號並交換 TCP 窗口大小信息。以下步驟概述了通常情況下客戶端計算機聯系服務器計算機的過程: 1. 客戶端向服務器

軟件工程——作業

images blog 重定向 logs width 效能 2-2 ima mage 對上周作業中的功能4 (僅由文件重定向讀入,不由控制臺讀入) 做效能分析。 功能4:(還沒改出來,出錯,待續。) git: 軟件工程——第三次作業(二)

計算機基礎作業 物聯網 鄧昕 作業

es2017 logs jpg ges 計算 物聯 mage .com img 計算機基礎作業 物聯網 鄧昕 第三次作業

企業訂餐系統周總結

src ges ket cnblogs 頁面設計 log images 實現 技術 第三次周總結   本周大家都基本開始了項目實現的步驟   王潔學姐做了後端有關登錄、註冊部分以及查看和修改信息功能。   項詩茹學姐在構思我們網站的設計圖   王賢國學長在實現文件上傳部分

ssm框架整合-過程總結周總結

項目 功能實現 SSM框架 模板 .com 完成 eight 幫助 spa 本周主要是完成前端界面和後端的整合。 猶豫前後端的工作完成程度不一致,只實現了部分整合。 登錄界面。 可能自己最近沒有把重心放在短學期的項目上,導致我們工作的總體進度都要比別慢。 雖然我們只是

一周12月13日

linux 一周第三次課(12月13日)1.9 使用PuTTY遠程連接Linux填入ip,端口默認22,可以修改,連接名稱,設置相應配置(字體,字號,行數),open,輸入用戶名,密碼,連接成功1.10 使用xshell連接Linux填寫相應主機ip,進行相應設置即可。1.11 PuTTY密鑰認證首先使用pu

二周12月20日

linux二周第三次課(12月20日)2.14 文件和目錄權限chmod標白的9位代表權限,3位3位表示,第一個3位表示所有者對文件的權限,第二個3位所屬用戶組所有的權限,第三個3位表示其他用戶所有的權限,r-read,w-write,x-可執行,--無權限。可用數字表示。r=4,w=2,x=1.如果權限為r

自學Python全棧開發筆記pycharm的使用

文件 templates 空白 cti pycharm 模板 utf body 筆記 這幾天學習了pycharm的使用。 模板:新建:File---》settings---》File and code Templates---》PythonScript 添加頭部

四周1月4日

-c 模式 1-1 watermark 刪除 read html mar 微軟雅黑 四周第三次課(1月4日)5.5 進入編輯模式i 在光標左側輸入正文a 在光標右側輸入正文o 在光標所在行的