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

搜索
博主信息
博文 48
粉絲 3
評論 1
訪問量 44906
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
thinkPHP Model搜索器、門面類、開啟調(diào)試、助手函數(shù)、多應(yīng)用
吳長清
原創(chuàng)
1316人瀏覽過

1.model搜索器

  1. // 條件搜索
  2. // withSearch() 觸發(fā)搜索器 傳入兩個數(shù)組
  3. // 參數(shù)1:需要搜索的字段 參數(shù)2:關(guān)聯(lián)數(shù)組,鍵為字段,值為查詢條件的值
  4. public function whereSearch()
  5. {
  6. User::withSearch(['name', 'status'], [
  7. 'name' => '于',
  8. 'status' => '1'
  9. ])->select();
  10. }
  11. // 搜索器 三個參數(shù)
  12. // 使用withSearch()時觸發(fā)
  13. // $query: sql語句對象
  14. // $value: 使用withSearch()觸發(fā)時,關(guān)聯(lián)數(shù)組的當(dāng)前值 '于'
  15. // $data: 使用withSearch()觸發(fā)時,關(guān)聯(lián)數(shù)組的所有值 ['于','1']
  16. public function searchNameAttr($query, $value, $data)
  17. {
  18. dump($query);
  19. dump($value);
  20. dump($data);
  21. $ret = $query->where('name', 'like', $value . '%');
  22. dump($ret);
  23. }
  24. // 搜索器
  25. public function searchStatusAttr($query, $value, $data)
  26. {
  27. $query->where('status', '=', $value);
  28. }

2.門面類

  • 普通(動態(tài))類,引入后需要以參數(shù)方式依賴注入到方法中才可以使用
  1. <?php
  2. namespace app\controller;
  3. use app\BaseController;
  4. // 引入普通(動態(tài))類
  5. use think\Db;
  6. use think\Request;
  7. class tp0831 extends BaseController
  8. {
  9. // 在方法中通過參數(shù)方式依賴注入
  10. public function tp0831(Db $db, Request $request)
  11. {
  12. // 參數(shù)方式調(diào)用
  13. $db->table()->slect();
  14. $request->method();
  15. }
  16. }
  • 門面(facade)類,引用后直接用靜態(tài)類的方式使用(推薦使用)
  1. <?php
  2. namespace app\controller;
  3. use app\BaseController;
  4. // 引入門面類
  5. use think\facade\Db;
  6. use think\facade\Request;
  7. class tp0831 extends BaseController
  8. {
  9. public function tp0831(){
  10. // 門面類直接以靜態(tài)的方式使用
  11. Db::table()->slect();
  12. Request::method();
  13. }
  14. }

thinkphp 動態(tài)類和門面類的引入 如下:

3.開啟調(diào)試

ThinkPHP提供了一些內(nèi)置的調(diào)試工具和函數(shù)

  • Trace調(diào)試功能就是ThinkPHP提供給開發(fā)人員的一個用于開發(fā)調(diào)試的輔助工具??梢詫崟r顯示當(dāng)前頁面或者請求的請求信息、運(yùn)行情況、SQL執(zhí)行、錯誤信息和調(diào)試信息等,并支持自定義顯示,并且支持沒有頁面輸出的操作調(diào)試。在創(chuàng)建tp項目時已經(jīng)內(nèi)置安裝,不需要手動安裝

  • 如果部署到服務(wù)器的話,你可以通過下面方式安裝
    composer install --no-dev

  • 當(dāng)項目部署到服務(wù)器正式運(yùn)行時,不建議使用,因為用戶不希望看見調(diào)試信息

  • 開啟Trace調(diào)試功能

    • 在項目內(nèi)找到xxx.env文件 刪除.env的前綴
    • .env 中找到APP_DEBUG配置項,并將其設(shè)置為true
    • 開啟后還需要配置其他項,比如數(shù)據(jù)庫連接方式等
    • 如下:

  • 開啟Trace調(diào)試功能后,頁面右下角會有一個logo,點(diǎn)開后即可看見調(diào)試信息

  • 配合dump()調(diào)試函數(shù)使用

    • 最終頁面輸出如下

4.助手函數(shù)

系統(tǒng)為一些常用的操作方法封裝了助手函數(shù),便于使用,包含如下:

序號 助手函數(shù) 描述
1 abort 中斷執(zhí)行并發(fā)送HTTP狀態(tài)碼
2 app 快速獲取容器中的實例 支持依賴注入
3 bind 快速綁定對象實例
4 cache 緩存管理
5 class_basename 獲取類名(不包含命名空間)
6 class_uses_recursive 獲取一個類里所有用到的trait
7 config 獲取和設(shè)置配置參數(shù)
8 cookie Cookie管理
9 download 獲取\think\response\File對象實例
11 dump 瀏覽器友好的變量輸出
12 env 獲取環(huán)境變量
13 event 觸發(fā)事件
14 halt 變量調(diào)試輸出并中斷執(zhí)行
15 input 獲取輸入數(shù)據(jù) 支持默認(rèn)值和過濾
16 invoke 調(diào)用反射執(zhí)行callable 支持依賴注入
17 json JSON數(shù)據(jù)輸出
18 jsonp JSONP數(shù)據(jù)輸出
19 lang 獲取語言變量值
20 parse_name 字符串命名風(fēng)格轉(zhuǎn)換
21 redirect 重定向輸出
22 request 獲取當(dāng)前Request對象
23 response 實例化Response對象
24 session Session管理
25 token 生成表單令牌輸出
26 trace 記錄日志信息
27 trait_uses_recursive 獲取一個trait里所有引用到的trait
28 url Url生成
29 validate 實例化驗證器
30 view 渲染模板輸出
31 display 渲染內(nèi)容輸出
32 xml XML數(shù)據(jù)輸出
33 app_path 當(dāng)前應(yīng)用目錄
34 base_path 應(yīng)用基礎(chǔ)目錄
35 config_path 應(yīng)用配置目錄
36 public_path 應(yīng)用根目錄
37 root_path 中斷執(zhí)行并發(fā)送HTTP狀態(tài)碼
38 runtime_path 應(yīng)用運(yùn)行時目錄

可以在應(yīng)用的公共函數(shù)文件中重寫上面這些助手函數(shù)。

5.多應(yīng)用

  • 需要使用composer require topthink/think-multi-app來安裝多應(yīng)用模塊

  • 在app目錄下創(chuàng)建應(yīng)用

  • 完整目錄解構(gòu) 如下

  1. www WEB部署目錄(或者子目錄)
  2. ├─app 應(yīng)用目錄
  3. ├─index 項目1
  4. ├─controller 控制器目錄
  5. ├─model 模型目錄
  6. ├─view 視圖目錄
  7. ├─admin 項目2
  8. ├─controller 控制器目錄
  9. ├─model 模型目錄
  10. ├─view 視圖目錄
  11. ├─ ... 更多類庫目錄
  12. ├─BaseController.php 默認(rèn)基礎(chǔ)控制器類
  13. ├─ExceptionHandle.php 應(yīng)用異常定義文件
  14. ├─common.php 全局公共函數(shù)文件
  15. ├─middleware.php 全局中間件定義文件
  16. ├─provider.php 服務(wù)提供定義文件
  17. ├─Request.php 應(yīng)用請求對象
  18. └─event.php 全局事件定義文件
  19. ├─config 配置目錄
  20. ├─app.php 應(yīng)用配置
  21. ├─cache.php 緩存配置
  22. ├─console.php 控制臺配置
  23. ├─cookie.php Cookie配置
  24. ├─database.php 數(shù)據(jù)庫配置
  25. ├─filesystem.php 文件磁盤配置
  26. ├─lang.php 多語言配置
  27. ├─log.php 日志配置
  28. ├─middleware.php 中間件配置
  29. ├─route.php URL和路由配置
  30. ├─session.php Session配置
  31. ├─trace.php Trace配置
  32. └─view.php 視圖配置
  33. ├─view 視圖目錄
  34. ├─route 路由定義目錄
  35. ├─route.php 路由定義文件
  36. └─ ...
  37. ├─public WEB目錄(對外訪問目錄)
  38. ├─index.php 入口文件
  39. ├─router.php 快速測試文件
  40. └─.htaccess 用于apache的重寫
  41. ├─extend 擴(kuò)展類庫目錄
  42. ├─runtime 應(yīng)用的運(yùn)行時目錄(可寫,可定制)
  43. ├─vendor Composer類庫目錄
  44. ├─.example.env 環(huán)境變量示例文件
  45. ├─composer.json composer 定義文件
  46. ├─LICENSE.txt 授權(quán)說明文件
  47. ├─README.md README 文件
  48. └─think 命令行入口文件
  • 在index應(yīng)用下controller目錄下創(chuàng)建index.php文件并在其中創(chuàng)建index方法
  1. <?php
  2. namespace app\index\controller;
  3. use app\BaseController;
  4. class Index extends BaseController
  5. {
  6. public function index()
  7. {
  8. echo '前臺應(yīng)用';
  9. }
  10. }
  • 在admin應(yīng)用下controller目錄下創(chuàng)建admin.php文件并在其中創(chuàng)建admin方法
  1. <?php
  2. namespace app\admin\controller;
  3. use app\BaseController;
  4. class Admin extends BaseController
  5. {
  6. public function admin()
  7. {
  8. echo '后臺應(yīng)用';
  9. }
  10. }
  • 最終輸出前后臺兩個應(yīng)用

批改老師:PHPzPHPz

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

老師批語:
本博文版權(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+教程免費(fèi)學(xué)