1.url訪問
thinkphp
採用單一入口模式訪問應用,對應用的所有請求都定向到應用的入口檔案,系統會從url
引數中解析當前請求的模組、控制器和操作,下面是乙個標準的url
訪問格式:
第一種訪問方式http://localhost:8080/thinkphp/index.php/home/index/index 入口檔案/模組/控制器/操作
第二種訪問方式(傳引數)而且訪問時不需要區分大小寫,無論url是否開啟大小寫轉換,模組名都會強制小寫。m=home&c=index&a=index傳三個引數
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;4.系統常量資訊use think\controller;
class emptycontroller extends controller
}
//獲取系統常量資訊方法public function test()
如果加引數true,會分組顯示,如下圖:
//常用的常量資訊(獲取不同路徑)5.跨控制器呼叫乙個控制器在執行的時候,可以例項化另外乙個控制,並通過物件訪問其指定方法。__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)
跨控制器呼叫可以節省我們**的工作量
phpnamespace home\controller;還可以另外建立乙個操作類進行跨控制器呼叫//繼承父類
use think\controller;
class indexcontroller extends controller
public function test()
//加標記
public function mark($s)";}}
phpnamespace home\controller;6.引數傳值use think\controller;
class logincontroller extends controller
}
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...
以條件驅動的資料訪問方式
所謂 以條件驅動 其實是自己給起名稱,這種資料庫訪問方式和傳統持久化元件的操作方式有所差別。在傳統的資料訪問操作中先明確操作物件然後設定相關條件 但在本文中所在地提到的訪問方式是以條件為主導,就是根據你需要的情況編寫條件直接在這基礎上進行操作,並不需要顯式借助於某個容器,所有操作所需要支援的環境在條...