乙個控制器在執行的時候,可以例項化另外乙個控制,並通過物件訪問其指定方法。
跨控制器呼叫可以節省我們**的工作量,不然的話,同乙個函式就要不同的控制器裡面重新寫一遍 ,這是件多麼麻煩的事情
例如:有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目錄結構如下 有關這些資料夾的具體作用,可以參照下圖 ...