控制器,即 controller,控制器檔案存放在 controller 目錄下
如果想改變系統預設的控制器檔案目錄,可以在 config 下 route.php 配置:
'controller_layer'
=>
'controllerxyz'
//er後面自由新增
類名和檔名大小寫保持一致,並採用駝峰式(首字母大寫);
namespace
;class
test
在 test 類建立兩個方法 index(預設)和 hello,訪問 url 如下:
//localhost/tp6/public/test/hello那麼如果建立的是雙字母組合,比如 class helloworld,訪問 url 如下:
//localhost/tp6test3/public/hello_worldthinkphp 直接採用方法內 return 返回的方式直接就輸出了;
使用 json 輸出,直接採用 json 函式;
$data
=array
('a'
=>1,
'b'=
>2,
'c'=
>3)
;return
json
($data
);
不推薦使用 die、exit 等 php 方法中斷**執行,推薦助手函式 halt();
halt
('中斷測試'
);
(疑問1、暫時看不懂basecontroller裡的**是啥意思,暫且當做是建立乙個類繼承basecontroller裡的方法,並且呼叫這些方法,2020.3.15)
在單應用模式下,我們可以給專案定義乙個 error 控制器類,來提醒錯誤;
class
error
}
(疑問2、emm,不明白為啥這麼定義有什麼意義 2020.3.15)
多級控制器,在控制器 controller 目錄下再建立目錄並建立控制器;
在controller目錄下建立group目錄,並建立blog控制器;
thinkphp 採用內建抽象層將不同的資料庫操作進行封裝處理
資料抽象層基於 pdo 模式,無須針對不同的資料庫編寫相應的**;
在根目錄的 config 下的 database.php 可以設定資料庫連線資訊;
本地測試,會優先採用.env 的配置資訊,我們和 database 配置對應上即可;
5.connections 配置資料庫連線資訊,可以是多個資料庫,便於切換;
建立乙個用於測試資料連線的控制器:datatest.php:
namespace
;use
think\facade\db
;//facade不懂 標記一下 2020.3.15⭐
class
datatest
public
function
demo()
}
(疑問3、這個為啥要用db::進行呼叫。::是類呼叫方法的時候用的,找到db了,但是看不懂原始碼 2020.3.16 ⭐)
.env的優先順序大於database的執行優先順序
namespace
;use
think\model
;class
students
extends
model
user 繼承模型基類,即可實現資料呼叫 (emm,標個⭐,我會回來消滅你們的)
而受保護的字段$connection,則是切換到 其它 資料庫;
在控制器端寫如下**:
public
function
getuser()
(疑問4、上面呼叫的**塊,model中建立的php檔案,只能是資料庫中表名才能輸出表中的所有資料,這是為何????⭐) ThinkPHP6 0 學習 安裝
1 linux環境 curl ss php 將檔案移動到bin下 mv composer.phar usr local bin composer 2 使用國內映象 阿里雲 開啟命令列視窗 windows使用者 或控制台 linux mac 使用者 並執行如下命令 composer config g ...
thinkphp6 0學習筆記之資料庫之鏈式查詢
1.通過指向符號 多次聯絡呼叫方法稱為 鏈式查詢 2.當使用db name 時,返回查詢物件 query 後面可以加資料庫對應的方法 3.每次執行乙個資料庫查詢方法時,還會返回查詢物件 4.只要還是資料庫物件,就可以一直使用指向符合進行鏈式查詢 5.find select 方法是返回陣列或資料集物件...
thinkphp6 0之了解容器和依賴注入
1 在model裡建立乙個類繼承model namespace use think model class oneextends model 2 建立乙個控制器inject,通過依賴注入將模型one物件引入其內 namespace use class inject public function i...