2016-07-27 48 views
0

我有Laravel應用着,當然聯繫比用戶更多的憑據,在這裏我的問題是:Laravel - 如何處理控制器擴展了另一個控制器,它有兩個控制器<code>UserController</code>的<code>AdminController</code>

我想用戶能夠:

  1. 獲取並查看帳戶
  2. 取和查看郵件

聯繫能夠爲:

  1. 獲取並查看帳戶
  2. 取和查看郵件
  3. 管理帳戶
  4. 管理郵件

顯然是有冗餘在獲取和查看功能這兩個,所以我試圖創建兩個控制器。在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

+0

取而代之的是準備一個界面,並使用DI –

+0

我是新的,所以如果你有時間,你能解釋更多嗎? –

+0

你的意思是使用**特質**? –

回答

-1

您可能希望將getaccountgetmail方法應用於User模型類。

+0

你能向我解釋爲什麼你的方法更好嗎?更安全? –

相關問題