【发布时间】:2015-11-05 06:44:38
【问题描述】:
我正在开发一个项目,该项目有一个带有顶栏的控制面板,其中包含有关用户的详细信息,如用户名、电子邮件、图像 url 等。这个顶栏几乎可以在所有控制面板视图上运行。现在在每个控制面板控制器中我都会做这样的事情
/***** PostController *********/
class PostController extends Controller
{
protected $user;
public function __construct()
{
$user = Auth::user(); // Note: here $user is not a global variable
$this->user['user_name'] = $user->name;
$this->user['user_email'] = $user->email;
$this->user['user_role'] = $user->getRolesName()->first();
$this->user['user_image'] = $user->image;
}
然后在索引控制器中,我将传递当前用户的角色,以及这样的帖子详细信息。
public function index()
{
$user = $this->user;
$posts = json_decode( Post::with('author')->get()->toJson() );
return view('globaladmin.posts.viewposts',compact('posts'), $user);
}
我认为可能有更好的方法来做到这一点(可能是像存储库这样的设计模式),像往常一样,我们将不胜感激。
【问题讨论】:
标签: php design-patterns laravel-5