ThinkPHP框架初步掌握

2022-04-03 22:30:10 字數 2814 閱讀 7739

為了幫老師用thinksns二次開發乙個微博系統,專門花了幾天學習thinkphp框架,現在將一些thinkphp入門知識作以記錄。

首先宣告:

本文不是完全教程,只是將開發中碰到的問題作以總結,如果需要學習thinkphp框架,請參考官網文件:

官網首頁

thinkphp完全開發手冊

附:開源微博系統thinksns

目錄結構

目錄/檔案

說明thinkphp.php

框架入口檔案

common

框架公共檔案目錄

conf

框架配置檔案目錄

lang

框架系統語言目錄

lib系統核心基類庫目錄

tpl系統模板目錄

extend

框架擴充套件目錄(關於擴充套件目錄的詳細資訊請參考後面的擴充套件章節)

我的檔案結構

入口(thinkphp.php)

require '/thinkphp框架所在目錄/thinkphp.php';  //我的為/thinkphp/thinkphp.php

這行**的作用就是載入thinkphp框架的入口檔案thinkphp.php,這是所有基於thinkphp開發應用的第一步。

然後,在瀏覽器中訪問這個入口檔案。

http://
因為index.php為預設首頁,所以亦可省略。

模板(tpl)

tpl資料夾下為模版頁面,可放置html、php等頁面。

同時支援多模組,即可在tpl下建立多個資料夾,每個資料夾對應乙個模組,同時乙個模組和乙個控制器對應(需要名字相同)

我的:兩個模組form、index

tpl下對應有兩個資料夾form、index

則對應的控制器也是兩個formcontroller.class.php、indexcontroller.class.php

控制器(controller)

命名:模組名+controller

pathinfo模式:是系統的預設url模式,提供了最好的seo支援,系統內部已經做了環境的相容處理,所以能夠支援大多數的主機環境。

module為模組名稱(控制器名稱)、不帶controller

//action為操作名稱(控制器中的方法名稱)、不帶model

//var為引數名

//value為引數值

//var與value成對出現

我的:

呼叫indexcontroller下的index()方法  

如果該方法不存在,將直接呼叫tpl/index/index.html頁面

模型(model)1、命名:模組名字+model在thinkphp的模型裡面,有幾個關於資料表名稱的屬性定義,在對應的model中宣告為屬性字段(或者叫成員變數):

屬性說明

tablename

不包含表字首的資料表名稱,一般情況下預設和模型名稱相同,只有當你的表名和當前的模型類的名稱不同的時候才需要定義。

truetablename

包含字首的資料表名稱,也就是資料庫中的實際表名,該名稱無需設定,只有當上面的規則都不適用的情況或者特殊情況下才需要設定。

dbname

定義模型當前對應的資料庫名稱,只有當你當前的模型類對應的資料庫名稱和配置檔案不同的時候才需要定義。

只要命名規範,thinkphp會根據model名字找到你要呼叫的資料庫表,當然,前提你得建立。

規則:

1)表名為tp_categories(tp_為表字首,在配置檔案中配置)

protected

$tablename = 'categories';

2)表名為top_depts,top_不是系統配置的表字首,需要使用表的全名

protected

$truetablename = 'top_depts';

3)可設定資料庫

protected

$dbname = 'top';

呼叫:可呼叫本模組model,也可跨專案或模組呼叫。

本模組:

d("usermodel")
跨專案:

m方法與d方法類似,不過,我只用了d方法

函式庫

可通過load(@.hello),hello為函式庫檔名稱

也可通過在專案配置檔案中定義load_ext_file引數,例如:

"load_ext_file"=>"user,db"
類庫通過import可引入使用的類包,可跨專案或模組

model表明是模型

usermodel為模型名稱

資料庫

寫了好久,希望對大家有點用處。

thinkphp框架漏洞

thinkphp框架爆出了乙個任意 執行漏洞,其危害性相當的高,漏洞利用方法如下 index.php module aciton param1 index.php module aciton param1 其中的function all代表任何函式,比如 index.php module acito...

Thinkphp框架基礎

mvc model 模型 模型 資料 層 view 檢視 檢視層 controller控制器 邏輯層 m 運算元據 資料連線,資料訪問 v 提供顯示模板 c 實現業務邏輯 mvc 約定勝於配置 action 操作,放在控制器裡面的方法 之前訪問的方式 訪問的具體頁面 mvc訪問的方式 訪問控制器下的...

ThinkPHP框架一 框架搭建

require thinkphp thinkphp.php 執行tp框架 1 存放位置 controller資料夾中 2 命名規範 控制器的名稱 controller.class.php 3 類名和檔名同名 4 用帕斯卡命名法 大駝峰 5 盡量區分大小寫,6 thinkphp預設全部是utf8編碼 ...