日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

Thinkphp5.0快速入门笔记(3)

發(fā)布時(shí)間:2025/3/15 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Thinkphp5.0快速入门笔记(3) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

學(xué)習(xí)來(lái)源與說(shuō)明

https://www.kancloud.cn/thinkphp/thinkphp5_quickstart

測(cè)試與部署均在windows10下進(jìn)行學(xué)習(xí)。

快速入門第三節(jié)

獲取當(dāng)前的請(qǐng)求信息的四種方案

繼承think\Controller

<?php namespace app\index\controller; use think\Controller; class Index extends Controller {public function hello($name = 'World'){// 獲取當(dāng)前URL地址 不含域名echo 'url: ' . $this->request->url() . '<br/>';return 'Hello,' . $name . '!';} }

訪問(wèn)界面并傳遞參數(shù):http://127.0.0.1/index/index/hello/name/123,網(wǎng)頁(yè)獲取name值為123,輸出了請(qǐng)求的url。

效果:

自動(dòng)注入請(qǐng)求對(duì)象

方法帶入形參

<?php namespace app\index\controller; use think\Request; class Index {public function hello(Request $request, $name = 'World'){// 獲取當(dāng)前URL地址 不含域名echo 'url: ' . $request->url() . '<br/>';return 'Hello,' . $name . '!';} }

?

使用助手函數(shù)

系統(tǒng)提供的方法

<?php namespace app\index\controller; class Index {public function hello($name = 'World'){// 獲取當(dāng)前URL地址 不含域名echo 'url: ' . request()->url() . '<br/>';return 'Hello,' . $name . '!';} }

?

動(dòng)態(tài)綁定屬性

方便全局調(diào)用(未直接示例)

制作Base控制器:

<?php namespace app\index\controller; use app\index\model\User; use think\Controller; use think\Request; use think\Session; class Base extends Controller {public function _initialize(){$user = User::get(Session::get('user_id'));Request::instance()->bind('user',$user);} }

其它控制器中調(diào)用:

<?php namespace app\index\controller; use app\index\controller\Base; use think\Request; class Index extends Base {public function index(Request $request){echo $request->user->id;echo $request->user->name;} }

獲取請(qǐng)求變量

參數(shù)信息與輸出:

<?php namespace app\index\controller; use think\Request; class Index {public function hello(Request $request){echo '請(qǐng)求參數(shù):';dump($request->param());echo 'name:'.$request->param('name');} }

輸入訪問(wèn)網(wǎng)址:http://127.0.0.1/index/index/hello/name/123/test/ddd

輸出效果:

使用input助手函數(shù)代替$request->param()

<?php namespace app\index\controller; class Index {public function hello(){echo '請(qǐng)求參數(shù):';dump(input());echo 'name:'.input('name');} }

過(guò)濾變量

public function hello(Request $request) {echo 'name:'.$request->param('name','World','strtolower');echo '<br/>test:'.$request->param('test','thinkphp','strtoupper'); }

獲取其它參數(shù)

<?php namespace app\index\controller; use think\Request; class Index {public function hello(Request $request){echo 'GET參數(shù):';dump($request->get());echo 'GET參數(shù):name';dump($request->get('name'));echo 'POST參數(shù):name';dump($request->post('name'));echo 'cookie參數(shù):name';dump($request->cookie('name'));echo '上傳文件信息:image';dump($request->file('image'));} } <?php namespace app\index\controller; use think\Request; class Index {public function hello(Request $request){echo '請(qǐng)求方法:' . $request->method() . '<br/>';echo '資源類型:' . $request->type() . '<br/>';echo '訪問(wèn)IP:' . $request->ip() . '<br/>';echo '是否AJax請(qǐng)求:' . var_export($request->isAjax(), true) . '<br/>';echo '請(qǐng)求參數(shù):';dump($request->param());echo '請(qǐng)求參數(shù):僅包含name';dump($request->only(['name']));echo '請(qǐng)求參數(shù):排除name';dump($request->except(['name']));} }

?

<?php namespace app\index\controller; use think\Request; class Index {public function hello(Request $request,$name = 'World'){// 獲取當(dāng)前域名echo 'domain: ' . $request->domain() . '<br/>';// 獲取當(dāng)前入口文件echo 'file: ' . $request->baseFile() . '<br/>';// 獲取當(dāng)前URL地址 不含域名echo 'url: ' . $request->url() . '<br/>';// 獲取包含域名的完整URL地址echo 'url with domain: ' . $request->url(true) . '<br/>';// 獲取當(dāng)前URL地址 不含QUERY_STRINGecho 'url without query: ' . $request->baseUrl() . '<br/>';// 獲取URL訪問(wèn)的ROOT地址echo 'root:' . $request->root() . '<br/>';// 獲取URL訪問(wèn)的ROOT地址echo 'root with domain: ' . $request->root(true) . '<br/>';// 獲取URL地址中的PATH_INFO信息echo 'pathinfo: ' . $request->pathinfo() . '<br/>';// 獲取URL地址中的PATH_INFO信息 不含后綴echo 'pathinfo: ' . $request->path() . '<br/>';// 獲取URL地址中的后綴信息echo 'ext: ' . $request->ext() . '<br/>';return 'Hello,' . $name . '!';} } public function hello(Request $request, $name = 'World') { echo '模塊:'.$request->module(); echo '<br/>控制器:'.$request->controller(); echo '<br/>操作:'.$request->action(); }

使用助手函數(shù)的示例:

<?php namespace app\index\controller; class Index {public function hello(){echo 'GET參數(shù):';dump(input('get.'));echo 'GET參數(shù):name';dump(input('get.name'));echo 'POST參數(shù):name';dump(input('post.name'));echo 'cookie參數(shù):name';dump(input('cookie.name'));echo '上傳文件信息:image';dump(input('file.image'));} }

?

響應(yīng)對(duì)象

自動(dòng)輸出xml,json等格式的響應(yīng)

修改默認(rèn)輸出類型:'default_return_type' => 'json',//或者為xml等(config.php)

然后設(shè)計(jì)如下控制器:

<?php namespace app\index\controller; class Index {public function hello(){$data = ['name' => 'thinkphp', 'status' => '1'];return $data;} }

輸出:

手動(dòng)輸出各種格式響應(yīng)

不需要配置config.php,直接建立如下控制器即可完成相同輸出。

?

<?php namespace app\index\controller; class Index {public function hello(){$data = ['name' => 'thinkphp', 'status' => '1'];return json($data);} }

也可以手動(dòng)輸出帶狀態(tài)返回碼在內(nèi)的其它信息的響應(yīng)格式

<?php namespace app\index\controller; class Index {public function hello(){$data = ['name' => 'thinkphp', 'status' => '1'];return json($data, 201, ['Cache-control' => 'no-cache,must-revalidate']);} }

頁(yè)面跳轉(zhuǎn)方法

<?php namespace app\index\controller; class Index {use \traits\controller\Jump;public function index($name=''){if ('thinkphp' == $name) {$this->success('歡迎使用ThinkPHP5.0','hello');}else {$this->error('錯(cuò)誤的name','guest');}}public function hello(){return 'Hello,ThinkPHP!';}public function guest(){return 'Hello,Guest!';} }

以上代碼引入的traits\controller\Jump,使用success和error,輸出了表情、提示信息,然后3秒跳轉(zhuǎn)到指定的方法。

在traits\controller\Jump中,頁(yè)面重定向的方法為:

$this->redirect('http://thinkphp.cn');

直接重新定向到指定頁(yè)面。

系統(tǒng)也提供了助手函數(shù)有同樣效果:

redirect('http://thinkphp.cn')

?

  

轉(zhuǎn)載于:https://www.cnblogs.com/bai2018/p/11355036.html

總結(jié)

以上是生活随笔為你收集整理的Thinkphp5.0快速入门笔记(3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。