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

在thinkphp裏面咱們如何跨模塊調用(這裏使用Action舉例:若是項目須要的話,還有可能跨分組調用,因此有時候須要調用其餘組的Action)。
我在開發的過程當中常常會在當前Action中調用其餘Action中的方法,這就涉及到跨Action的調用,咱們還能夠了解到A和R兩個快捷鍵方法的使用。
舉例A和R的用法: php

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

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

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

上面只是在當前項目中調用,若是你有須要在多個項目之間調用方法,同樣能夠完成:ide

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

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

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

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

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

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

相關文章
相關標籤/搜索