在thinkphp裏面咱們如何跨模塊調用(這裏使用Action舉例:若是項目須要的話,還有可能跨分組調用,因此有時候須要調用其餘組的Action)。
我在開發的過程當中常常會在當前Action中調用其餘Action中的方法,這就涉及到跨Action的調用,咱們還能夠了解到A和R兩個快捷鍵方法的使用。
舉例A和R的用法: php
- $User = A("User"); // 實例化UserAction控制器對象
- $User->importUser(); // 調用User模塊的importUser操做方法
- 這裏的A("User") 是一個快捷方法,和下面的代碼等效:
- import("@.Action.UserAction");
- $User = new UserAction();
事實上,在這個例子裏面還有比A方法更簡單的調用方法,例如:thinkphp
- R("User","importUser"); // 遠程調用UserAction控制器的importUser操做方法
上面只是在當前項目中調用,若是你有須要在多個項目之間調用方法,同樣能夠完成:ide
- $User = A("User","App2"); // 實例化App2項目的UserAction控制器對象
- $User->importUser();
// 遠程調用App2項目的UserAction控制器的importUser操做方法spa
- R("User","importUser","App2");
這裏介紹我項目中用到的實例:
個人項目下面分了兩個組:Admin和Home,相信你們看名字就能明白這兩個組的是作什麼的~
實例化模塊的時候(當前位置是在Home中IndexAction類的index方法中實例化)xml
- import("@.Action.Admin.UserAction"); //Admin就是組的名字
- $user = new UserAction();
- $user->add();
咱們須要注意的是:調用的方法必須是 public型的, 本文中的Action爲縮寫,具體寫法:Action(或者分組Action)對象