這應該很簡單,但我花了一個多小時試圖找出它,所以感謝您的幫助。CakePHP:在主控制器中使用插件控制器的功能
我有一個CakePHP的插件,Usermgmt
,與設在這裏控制器:
./app/Plugin/Usermgmt/Controller/UsersController.php
我想使用類似我的主控制器的一個調用的函數,userIdFromUsernameAndPassword()
,在控制器:
$userID = $this->UsersController->userIdFromUsernameAndPassword('[email protected]','pass');
我需要導入/包含/初始化才能使其工作?
我試過各種導入語句,如App::uses('UsersController', 'Usermgmt.Controller');
在我的文件頂部,但沒有得到任何地方。
謝謝!
我對OOP和MVC的知識來自Objective-C和Python,所以我爲這些方法和PHP之間的差異掙扎了一下。一年前,當我開始這個項目時,我看着CakeDC用戶,但是我無法得到它的工作,或者還沒有完全準備好。我知道如何通過調用$ this-> Auth-> user('id')來獲取用戶ID,但這是針對API的,因此用戶不會登錄(用戶/傳遞與Post請求一起傳遞) 。 – Nick 2013-04-20 02:11:01
我知道從另一個控制器中調用一個控制器並不是在這裏執行任何操作的正確方法。那麼以正確的方式回覆用戶/通過Post調用,檢查這些值,並從不同的模型給他們提供信息? – Nick 2013-04-20 02:12:52
@ nickv2002在我看來'userIdFromUsernameAndPassword()'應該是'User' * model *的方法,例如訪問它應該像'ClassRegistry :: init('Usermgmt.User') - > userIdFromUsernameAndPassword('[email protected]','pass');''你不應該使用另一個**控制器**來獲取數據來自MVC中的** Model **。或者,如果包含在* Component *中,則按照建議提供可重用的代碼。 – thaJeztah 2013-04-20 07:59:07