thinkphp如何跨模塊調用方法呢?

在thinkphp裏面我們如何跨模塊調用(這裏使用Action舉例:如果項目需要的話,還有可能跨分組調用,所以有時候需要調用其他組的Action)。
我在開發的過程中經常會在當前Action中調用其他Action中的方法,這就涉及到跨Action的調用,我們還可以瞭解到A和R兩個快捷鍵方法的使用。
舉例A和R的用法:

  1. $User = A("User"); // 實例化UserAction控制器對象 
  2. $User->importUser(); // 調用User模塊的importUser操作方法 
  3. 這裏的A("User") 是一個快捷方法,和下面的代碼等效: 
  4. import("@.Action.UserAction"); 
  5. $User = new UserAction();  

事實上,在這個例子裏面還有比A方法更簡單的調用方法,例如:

  1. R("User","importUser"); // 遠程調用UserAction控制器的importUser操作方法 

上面只是在當前項目中調用,如果你有需要在多個項目之間調用方法,一樣可以完成:

  1. $User = A("User","App2"); // 實例化App2項目的UserAction控制器對象 
  2. $User->importUser();  

// 遠程調用App2項目的UserAction控制器的importUser操作方法

  1. R("User","importUser","App2"); 

這裏介紹我項目中用到的實例:
我的項目下面分了兩個組:Admin和Home,相信大家看名字就能明白這兩個組的是做什麼的~
實例化模塊的時候(當前位置是在Home中IndexAction類的index方法中實例化)

  1. import("@.Action.Admin.UserAction");   //Admin就是組的名字 
  2. $user = new UserAction(); 
  3. $user->add(); 

我們需要注意的是:調用的方法必須是 public型的, 本文中的Action爲縮寫,具體寫法:Action(或者分組Action)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章