我的Laravel应用程序有两个控制器UserController
和AdminController
,当然管理员的凭据比用户多,我的问题来了:
我希望用户能够:
- 获取和查看帐户
- 获取和查看邮件
和管理员能够:
- 获取和查看帐户
- 获取和查看邮件
- 管理帐户
- 管理邮件
显然,获取和查看功能两者都是多余的,所以我尝试创建两个控制器。AdminController
扩展UserController
:
UserController
:
?php
namespace App'Http'Controllers;
use Illuminate'Http'Request;
use Illuminate'Support'Facades'Auth;
use DB;
use App'Http'Requests;
use App'User;
use App'Account;
use App'Mail;
class UserController extends Controller
{
/*******************
* Helper functions
* retrieving data
***/
//retrieving data from database
protected function getaccount($userId){
//fetch data from database
}
protected function getmail($userId){
//fetch mail from database
}
/*******************
*other controller functions
***/
}
AdminController
:
?php
namespace App'Http'Controllers;
use Illuminate'Http'Request;
use Illuminate'Support'Facades'Auth;
use DB;
use App'Http'Requests;
use App'User;
use App'Account;
use App'Mail;
class AdminController extends Controller, UserController
{
/*******************
* Helper functions
* retrieving data
***/
//retrieving data from database
protected function manageaccount($userId){
//manage
}
protected function managemail($userId){
//manage
}
/*******************
*other controller functions
***/
}
如何在AdminController
中使用UserController
的获取和查看功能?
您可能需要将getaccount
和getmail
方法放在User
模型类上。