ThinkPHP框架 學習8

2022-02-22 08:50:29 字數 1785 閱讀 5949

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

跨控制器呼叫可以節省我們**的工作量,不然的話,同乙個函式就要不同的控制器裡面重新寫一遍 ,這是件多麼麻煩的事情

例如:10個頁面,都要現實指定的資料資訊顯示。比如我們**的「會員數目有200萬」,這個資訊需要在10個頁面都顯示

這個資料是通過usercontroller.class.php 裡邊額方法number()給查詢出來的

現在商品列表頁面也需要顯示200萬會員數目資訊,那麼原則上就是goodscontroller.class.php裡邊也有乙個方法number()專門獲得會員數目的

如果許多頁面都需要顯示200萬的會員資料,則許多控制器都需要有number()方法。

如果大家都能例項化user控制器,並呼叫它的number()方法,則會節省許多重複勞動。

*  先在控制器裡面建立乙個需要呼叫的控制器的物件,然後用該物件來呼叫函式的方法

也可以利用tp框架封裝的一些函式的,來跨控制器的呼叫,這樣比較方便快捷

詳情請看下面的   封裝函式的介紹   a(),  r()。

系統函式庫:thinkphp/common/functions.php

a(「[模組/]控制器標誌」) 例項化控制器物件

r([模組/]控制器標誌/操作方法)  例項化物件同時呼叫指定方法

tp框架內部**整合:面向過程和

oop物件導向

1. index.php  入口檔案

2. thinkphp/thinkphp.php

在php5.3版本以後

設定常量有兩種方式:

const name = value;  作用域根據當前命名空間決定

define()  作用域全域性

① 定義了許多常量

② 引入核心檔案think.class.php

think::start();

3. thinkphp/library/think/think.class.php

static function start()

① 引入系統核心檔案

② 引入配置檔案

③ 如果是生成模式,還會生成common~runtime.php

檔案④ 如果是第一次使用系統,還會自動建立對應的應用目錄(home  ,common,  runtime)

static function run()

路由解析

//路由解析

,把模組、控制器、方法賦予常量

//module_name = 模組名稱

//controller_name  控制器

//action_name  方法

例項化控制器物件

利用「反射」實現物件呼叫方法

利用反射實現物件呼叫方法:

ThinkPHP框架 學習3

通過url位址 get引數找到指定的控制器,並進行對應方法呼叫請求 模組名稱 c 控制器 a 方法 以上url位址資訊 不夠優雅 不安全。tp框架 url位址可以由以下四種 http index.php?m xx c xx a xx 基本get模式 index.php 模組 控制器 操作方法 路徑模...

thinkPHP框架學習筆記

class zhuantiaction extends action thinkphp extend library org util rbac.class.php 使用者許可權配置擴充套件模組,用於後台設定使用者許可權等。public function construct 在action.clas...

ThinkPHP框架學習(一)

這幾天呢,斷斷續續地在看孫叔華老師的thinkphp教程,期間還做了一些其他事情,出去辦了點事,總結總結下一學期規劃等等,不知不覺間又過去了大半個星期。現在呢,看完了一天的教程,在這裡,還是希望稍微總結一番,加強自己的印象。其中的thinkphp目錄結構如下 有關這些資料夾的具體作用,可以參照下圖 ...