Index 模塊需調用 User 模塊的 showName 操作。UserAction 代碼:
class UserAction extends Action {
public function showName() { echo "Hello World"; }
}
class IndexAction extends Action {
public function index() {
header("Content-Type:text/html; charset=utf-8");
$User = A('User'); // 實例化 UserAction
$User->showName(); // 調用其方法
}
}
A 方法語法擴展:
A('User') // 當前項目 User 模塊
A('Admin://User') // 跨項目 Admin 項目 User 模塊
A('Admin/User') // 跨分組 Admin 分組 User 模塊
A('Admin://Tool/User') // 跨項目分組 Admin 項目 Tool 分組 User 模塊
A('User', 'Event') // 實例化分層控制器 UserEvent (Lib/Event/UserEvent.class.php)
class IndexAction extends Action {
public function index() {
header("Content-Type:text/html; charset=utf-8");
R('User/showName'); // 直接調用,返回值即操作返回值
}
}
R 方法語法擴展:
R('User/showName') // 當前項目
R('Admin://User/showName') // 跨項目
R('Admin/User/showName') // 跨分組
R('Admin://Tool/User/info') // 跨項目分組
R('User/showName', array(5)) // 傳參:showName($id) 接收 5
R('User/detail', array(5), 'Api') // 指定控制器層 Api (UserApi::detail)
最佳實踐: 官方建議將被公共調用的邏輯封裝為獨立接口層(如 Api 控制器層),而非在業務控制器間隨意互調,避免邏輯耦合混亂。