ThinkPHP URL的訪問以及各種方法的操作

2022-08-13 03:00:24 字數 2838 閱讀 4853

1.url訪問

thinkphp採用單一入口模式訪問應用,對應用的所有請求都定向到應用的入口檔案,系統會從url引數中解析當前請求的模組、控制器和操作,下面是乙個標準的url訪問格式:

第一種訪問方式

http://localhost:8080/thinkphp/index.php/home/index/index  入口檔案/模組/控制器/操作

第二種訪問方式(傳引數)

m=home&c=index&a=index傳三個引數

而且訪問時不需要區分大小寫,無論url是否開啟大小寫轉換,模組名都會強制小寫。

2.命名空間

相當於乙個虛擬的路徑

自動載入類

初始命名空間:thinkphp/library 虛擬的

根命名空間:由兩部分組成:

1.library下面的所有資料夾都是根命名空間

2.程式目錄下模組資料夾

使用某乙個類:

use 該類的根命名空間/.../類名

use think\controller;

定義命名空間:

namespace 該類的根命名空間/.../它所在的資料夾為止

namespace home\controller;

3.空操作和和空控制器處理空操作:就沒有指定的操作方法

「空操作」本質意思:乙個物件(控制器)呼叫本身不存在的方法

空操作有兩種解決方案:

①     在對應的控制器裡邊製作乙個方法,名稱為」_empty」,這個控制器的空操作都會自動執行該方法。(推薦使用)

//訪問方法不存在時呼叫

public function _empty()

②     給空操作的名稱製作乙個同名的模板出來,系統會自動呼叫

空控制器:沒有指定控制器

空控制器:在例項化控制器物件的時候,沒有找到指定的類

空控制器處理方案:可以再製作乙個控制器,名稱emptycontroller.class.php

在該控制器內部其實只需要製作乙個_empty()方法即可。

phpnamespace home\controller;

use think\controller;

class emptycontroller extends controller

}

4.系統常量資訊

//獲取系統常量資訊方法

public function test()

如果加引數true,會分組顯示,如下圖:

//常用的常量資訊(獲取不同路徑)

__root__ 獲取tp的根路徑(/thinkphp)

__self__ 當前瀏覽器位址列中的位址(/thinkphp/index.php/home/index/test)

__module__ 當前程式模組的路徑(/thinkphp/index.php/home)

__controller__ 當前控制器的路徑(/thinkphp/index.php/home/index)

__action__ 當前操作方法的路徑(/thinkphp/index.php/home/index/test)

5.跨控制器呼叫乙個控制器在執行的時候,可以例項化另外乙個控制,並通過物件訪問其指定方法。

跨控制器呼叫可以節省我們**的工作量

phpnamespace home\controller;

//繼承父類

use think\controller;

class indexcontroller extends controller

public function test()

//加標記

public function mark($s)";}}

還可以另外建立乙個操作類進行跨控制器呼叫

phpnamespace home\controller;

use think\controller;

class logincontroller extends controller

}

6.引數傳值

public function test()

//瀏覽器位址列

http://localhost:8080/thinkphp/index.php/home/index/test/code/123/name/李四/abc/mvc

//第二種接收形參傳值 

public function test($code,$name)

//瀏覽器位址列

http://localhost:8080/thinkphp/index.php/home/index/test/code/123/name/李四

Think PHP url的四種訪問方法。

1.pathinfo 模式 常用!重點!class indexcontroller extends controller public function index echo 歡迎你 get name 在url裡就這樣寫locallhost 8080 thinkphp index.php index...

以Lockbits的方式訪問bitmap

用bitmap.getpixel和bitmap.setpixel訪問畫素點實在是太慢了,必須要用lockbits的方式訪問記憶體才能改善,這裡貼乙個快速訪問bitmap每個畫素點的包裝類,是國外乙個老外寫的,感覺很好用。public class lockbitmap public int depth...

以條件驅動的資料訪問方式

所謂 以條件驅動 其實是自己給起名稱,這種資料庫訪問方式和傳統持久化元件的操作方式有所差別。在傳統的資料訪問操作中先明確操作物件然後設定相關條件 但在本文中所在地提到的訪問方式是以條件為主導,就是根據你需要的情況編寫條件直接在這基礎上進行操作,並不需要顯式借助於某個容器,所有操作所需要支援的環境在條...