0

这应该很简单,但我花了一个多小时试图弄清楚,所以感谢您的帮助。

我有一个 CakePHP 插件,Usermgmt控制器位于此处:

./app/Plugin/Usermgmt/Controller/UsersController.php

我正在尝试userIdFromUsernameAndPassword()从我的一个主控制器中调用该控制器中的函数 , 使用类似的东西:

$userID = $this->UsersController->userIdFromUsernameAndPassword( 'user@host.com','pass' );

我需要导入/包含/初始化什么才能使其正常工作?

我已经尝试了各种导入语句,例如App::uses('UsersController', 'Usermgmt.Controller');在我的文件顶部,但没有得到任何地方。

谢谢!

4

1 回答 1

2

简短回答:使用 OOP 并扩展另一个控制器。还要了解 MVC。你不应该在另一个控制器中使用一个控制器的方法,在 CakePHP 中这应该作为一个组件来完成。它们可以在控制器之间共享。检查 CakePHP 书

插件的名称和方法名称也表明这是一个坏插件。这听起来好像有人不知道 CakePHP 的 Auth 组件。再次,检查 AuthComponent 的书。您需要一个自定义身份验证适配器

如果用户已登录,您可以通过调用 $this->Auth->user('id') 来获取其 id。阅读关于 Auth 的章节。如果您想要一个正确完成的用户插件,请查看:CakeDC 用户

于 2013-04-20T01:32:48.693 回答