ThinkPHP框架

来源:https://www.cnblogs.com/shineguang/archive/2019/07/05/11140920.html
-Advertisement-
Play Games

1.TP框架基礎 1.1目錄結構 1.2配置文件 1.框架主配置文件(慣例配置文件) thinkphp/convention.php 2. 應用公共配置文件 application/config.php, application/database.php 對整個應用生效 3.模塊配置文件 appli ...


1.TP框架基礎

          1.1目錄結構

1.project  應用部署目錄
 2.├─application           應用目錄(可設置)
 3.│  ├─common             公共模塊目錄(可更改)
 4.│  ├─index              模塊目錄(可更改)
 5.│  │  ├─config.php      模塊配置文件
 6.│  │  ├─common.php      模塊函數文件
 7.│  │  ├─controller      控制器目錄
 8.│  │  ├─model           模型目錄
 9.│  │  ├─view            視圖目錄
10.│  │  └─ ...            更多類庫目錄
11.│  ├─command.php        命令行工具配置文件
12.│  ├─common.php         應用公共(函數)文件
13.│  ├─config.php         應用(公共)配置文件
14.│  ├─database.php       資料庫配置文件
15.│  ├─tags.php           應用行為擴展定義文件
16.│  └─route.php          路由配置文件
17.├─extend                擴展類庫目錄(可定義)
18.├─public                WEB 部署目錄(對外訪問目錄)
19.│  ├─static             靜態資源存放目錄(css,js,image)
20.│  ├─index.php          應用入口文件
21.│  ├─router.php         快速測試文件
22.│  └─.htaccess          用於 apache 的重寫
23.├─runtime               應用的運行時目錄(可寫,可設置)
24.├─vendor                第三方類庫目錄(Composer)
25.├─thinkphp              框架系統目錄
26.│  ├─lang               語言包目錄
27.│  ├─library            框架核心類庫目錄
28.│  │  ├─think           Think 類庫包目錄
29.│  │  └─traits          系統 Traits 目錄
30.│  ├─tpl                系統模板目錄
31.│  ├─.htaccess          用於 apache 的重寫
32.│  ├─.travis.yml        CI 定義文件
33.│  ├─base.php           基礎定義文件
34.│  ├─composer.json      composer 定義文件
35.│  ├─console.php        控制台入口文件
36.│  ├─convention.php     慣例配置文件
37.│  ├─helper.php         助手函數文件(可選)
38.│  ├─LICENSE.txt        授權說明文件
39.│  ├─phpunit.xml        單元測試配置文件
40.│  ├─README.md          README 文件
41.│  └─start.php          框架引導文件
42.├─build.php             自動生成定義文件(參考)
43.├─composer.json         composer 定義文件
44.├─LICENSE.txt           授權說明文件
45.├─README.md             README 文件
46.├─think                 命令行入口文件

           1.2配置文件

         1.框架主配置文件(慣例配置文件) thinkphp/convention.php

         2.  應用公共配置文件 application/config.php, application/database.php 對整個應用生效

         3.模塊配置文件 application/模塊目錄/config.php 對當前模塊生效

         1.3函數文件

         1.框架助手函數文件 thinkphp/helper.php

         2.應用公共函數文件 application/common.php

         3.模塊函數文件 application/模塊目錄/common.php

         一般不建議直接修改thinkphp/helper.php

2.請求的生命周期

3.TP框架中的控制器

            3.1控制器的尾碼

          打開配置文件application/config.php,有如下配置

'controller_suffix' => false,

             表示預設情況下,控制器無特殊尾碼。例如 Index控制器,文件名為Index.php

          如果需要進行設置,可以設置為(我們不需要這麼設置)

'controller_suffix' => 'Controller',

             表示控制器以Controller為尾碼。例如Index控制器,文件名為IndexController.php  

             3.2控制器的定義

              1.表示控制器以Controller為尾碼。例如Index控制器,文件名為IndexController.php

            定義位置:application/模塊目錄/controller/目錄下

            命名規則:控制器名稱(首字母大寫) + (控制器尾碼,預設沒有) + .php

            預設:Index控制器 Index.php

            2.編寫控制器

            聲明命名空間 namespace app\模塊目錄名\controller

            引入控制器基類(可選) use think\Controller; think是命名空間 Controller是基類控制器

            定義當前控制器類,繼承控制器基類(可選)

            3.3框架的命名空間

            命名空間本身是PHP就有的,用來防止命名衝突問題的。

            TP框架中的命名空間,通常和目錄掛鉤。

            原因:TP中的自動載入機制,會將類的命名空間作為載入路徑的一部分。

            1.   聲明命名空間 使用namespace關鍵字

             2.引入指定的類 使用use關鍵字 命名空間\類名稱

             3.完全限定式訪問 在使用類時,\完整命名空間\類名稱(繼承和實例化)

             如果一個類沒有命名空間,使用 \類名

4.命令行創建模塊目錄及文件

              4.1命名行創建模塊目錄

              通常可以通過以下命令,自動生成模塊目錄

php think build --module 模塊名

                   4.2命令行創建控制器

php think make:controller 模塊名/控制器名 
php think make:controller 模塊名/控制器名 --plain

                    4.3命令行創建模型

php think make:model 模塊名/模型名

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 檢查文件是否存在 在此程式同目錄下創建log.txt文件,以檢測。 檢查文件是否不存在 讀取文件內容 在此程式同目錄下創建name.txt文件,以檢測。 寫入文件 在此程式同目錄下創建hello_world文件。 創建臨時文件 計算文件行數 在程式同目錄下創建"names.txt"文件,隨便寫幾行字 ...
  • 自定義錯誤類型 Go中可以使用 創建錯誤信息,也可以通過創建自定義錯誤類型來滿足需求。 是一個介面類型,所有實現該介面的類型都可以當作一個錯誤類型。 記錄日誌 捕獲異常 ...
  • Win10下安裝Hadoop3.1.2詳解 嘗試在本地win10上安裝hadoop,在官網選擇了最新的hadoop版本,就是這裡開始給自己挖了坑,對著網上的博客一頓操作,發現節點一直啟動不成功。本著不放棄的原則,在不停的配置過程中繼續折騰,終於解決問題。 安裝環境 JDK 1.8 Windows10 ...
  • 一、JDK 1.含義:Java開發工具包。 2.做Java開發之前必須安裝的一個工具包,​下載地址:https://www.oracle.com/index.html 3.Java包括三大塊內容: (1)JavaSE(Java標準版),這是基礎必知必會 (2)JavaEE(Java企業版) (3)J ...
  • 1.Redis單進程: 單進程模型來處理客戶端的請求。對讀寫等事件的響應是通過對epoll函數的包裝來做到的。Redis的實際處理速度完全依靠主進程的執行效率。epoll是Linux內核為處理大批量文件描述符而作了改進的epoll,是Linux下多路復用IO介面select/poll的增強版本,它能 ...
  • [TOC] 1.while迴圈 死迴圈 打斷死迴圈: 關鍵字: 2.字元串格式化: 3.運算符 4.編碼 四種(重要) 單位轉換 ...
  • 一. 安全性問題 線程安全的本質是正確性,而正確性的含義是程式按照預期執行 理論上線程安全的程式,應該要避免出現可見性問題(CPU緩存)、原子性問題(線程切換)和有序性問題(編譯優化) 需要分析是否存線上程安全問題的場景:存在共用數據且數據會發生變化,即有多個線程會同時讀寫同一個數據 針對該理論的解 ...
  • this 註意 public class ThisDemo { public static void main(String[] args) { } } class Person{ public String name; public int age; public boolean gender; ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...