ThinkPHP框架基礎知識三

2022-07-17 21:18:20 字數 3716 閱讀 8981

一、js檔案與css檔案存放位置

其實js與css檔案放在任意位置都可以找到,只要路徑正確就行。

在tp框架中我們訪問的所有檔案都要走入口檔案index.php,相當於訪問的是index.php頁面。

在模板檔案中用到js與css檔案,不能直接從模板檔案去找,而是從index.php開始找相應的js與css檔案。這是因為我們訪問的不是具體的頁面,而是index.php入口檔案,而用src瀏覽呼叫的檔案路徑是從 模板檔案找的,這樣我們訪問操作的時候這個路徑就找不到js和css檔案了,解決方法:

用絕對路徑

從index.php找到檔案的路徑

將js與css檔案放在public資料夾下,這樣就可以用tp框架的內建import標籤、load標籤等來載入檔案。

二、第三方類的存放位置

放在初始命名空間(tp/thinkphp/library/)下的資料夾中,例如think/下,但是其中已經有乙個page.class.php了,所以我們可以新建乙個資料夾fenye,將我們的分頁類檔案放在裡面,注意檔名與類名必須要一致。

2.  放在home模組新建資料夾下,如:home/fenye/。

以分頁類page.class.php為例,我們呼叫分頁類將info表分頁顯示

在tp框架模型中分頁查詢有乙個limit連貫操作,我們可以用下面這種方法實現分頁查詢

$info=m('info');

$info->limit(10,25)->select();其中的引數可以用分頁類中的$page->limit來獲得。這就需要修改一下分頁類:

分頁方法:

//

分頁查詢

function

fenye()

模板頁面:

<

h1>info表

h1>

<

table

width

="100%"

border

="1"

cellpadding

="0"

cellspacing

="0"

>

<

tr>

<

td>代號

td>

<

td>姓名

td>

<

td>性別

td>

<

td>民族

td>

<

td>生日

td>

tr>

<

foreach

name

="shuju"

item

="v"

>

<

tr>

<

td><

>

td>

<

td><

>

td>

<

td><

>

td>

<

td><

>

td>

<

td><

>

td>

tr>

foreach

>

table

>

<

div><

>

div>

請求fenye方法:

三、會話控制session與cookie

session賦值比較簡單,直接使用:

session('name','value');//設定session

session取值使用:

$value =session('name');

// 獲取所有的session 3.2.2版本新增

$value =session();

刪除某個session的值使用:

session('name',null);// 刪除name

要刪除所有的session,可以使用:

session(null);// 清空當前的session

要判斷乙個session值是否已經設定,可以使用

// 判斷名稱為name的session值是否已經設定

session('?name');

cookie('name','value');//設定cookie

cookie('name','value',3600);// 指定cookie儲存時間

獲取cookie很簡單,無論是怎麼設定的cookie,只需要使用:

$value =cookie('name');

刪除某個cookie的值,使用:

cookie('name',null);

要刪除所有的cookie值,可以使用:

cookie(null);// 清空當前設定字首的所有cookie值

cookie(null,'think_');// 清空指定字首的所有cookie值

四、控制登入

在做專案時,因為每個頁面都要用到登入控制,只要不登入就無法訪問頁面。

防止使用者繞過登入直接訪問操作方法

做乙個控制器的父類,在父類裡面做乙個構造方法,在裡面判斷session裡面有沒有值,如果沒有值就跳向登入

檢查是否登入的父類checkcontroller.class,php:

<?php 

namespace home\controller;

usethink\controller;

//檢查是否登入

class checkcontroller extends

controller

}

}

登入方法login:因為login也沒有存session,所以不能繼承checkcontroller,否則會陷入死迴圈。

<?php 

namespace home\controller;

usethink\controller;

usehome\rizhi\rizhi;

class logincontroller extends

controller

else

else

}else

其他控制器都可以繼承checkcontroller父類,例如main控制器:

<?php 

namespace home\controller;

usehome\controller\checkcontroller;

class maincontroller extends checkcontroller //

繼承父類

ThinkPHP3 2基礎知識(三)

開啟除錯模式 建議開發階段開啟 部署階段注釋或者設為false 開啟除錯模式的用處 方便及時發現隱患問題和分析 解決問題。空操作 namespace home controller usethink controller class citycontroller extends controller...

零基礎Python基礎知識框架(三)

10 布林值變數 布林值變數很簡單,布林值只有兩個數值,乙個是true,乙個是false。另外布林值也可以運用到加減乘除這類算術運算子,true代表一,false代表零。注意,布林值得大寫 11 邏輯運算子 接下來我們講邏輯運算子邏輯運算子在什麼時候使用呢?通常要是想要做條件判斷,可能不止有乙個條件...

koa框架基礎知識學習整理三

4.1 500 錯誤 如果 執行過程中發生錯誤,我們需要把錯誤資訊返回給使用者。http 協定約定這時要返回500狀態碼。koa 提供了ctx.throw 方法,用來丟擲錯誤,ctx.throw 500 就是丟擲500錯誤。demos 14.js const main ctx 執行這個demo no...