我有Laravel應用着,當然聯繫比用戶更多的憑據,在這裏我的問題是:Laravel - 如何處理控制器擴展了另一個控制器,它有兩個控制器<code>UserController</code>的<code>AdminController</code>
我想用戶能夠:
- 獲取並查看帳戶
- 取和查看郵件
和聯繫能夠爲:
- 獲取並查看帳戶
- 取和查看郵件
- 管理帳戶
- 管理郵件
顯然是有冗餘在獲取和查看功能這兩個,所以我試圖創建兩個控制器。在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
***/
}
我怎樣才能使用取和觀看的UserController
功能AdminController
?
取而代之的是準備一個界面,並使用DI –
我是新的,所以如果你有時間,你能解釋更多嗎? –
你的意思是使用**特質**? –