2016-06-17 2 views
0

Laravel 5.2를 사용하여 응용 프로그램을 작성 중이며 프론트 엔드 상거래 저장소와 백엔드 관리 패널을 모두 가지고 있습니다.Laravel 5.2, 여러 경로 /보기에 동일한 매개 변수가 전달됨

프런트 엔드보기에 일련의 변수 (장바구니, 회사 이름, 로고 등)를 공유하고 싶습니다. 이 경로는 몇 개의 컨트롤러에 걸쳐 있습니다. 어떻게 한 번에 같은 변수를 공유 할 수 있습니까?

예컨대

내 routes.php은 다음과 같습니다

$webConfig = [ 
'logo'=>'/[email protected]', 
'company'=>'Acme Inc', 
... 
    ] 
+1

[View Composers] (https://laravel.com/docs/5.2/views#view-composers)를 보았습니까? – jszobody

+0

@jszobody 뷰가 렌더링 된 후에 무언가를하는 데 사용되지 않습니까? 변수를 전달하는 데 사용할 수있는 예제를 보여줄 수 있습니까? –

+0

여러보기에 필요한 데이터가있는 경우보기 작성자는 한 곳에서 배치하고 컨트롤러에서 복제본을 가져올 수있는 좋은 방법입니다. – jszobody

답변

1

A :

Route::get('/','[email protected]'); 
Route::get('/checkout','[email protected]'); 
Route::get('/login', '[email protected]'); 

그리고이 노선/조회수 (및 관리자 패널이 아닌 사람)의 각

, 나는 변수를 공유 할 뷰 작성자는보기간에 변수 만 공유 할 수 있습니다.

그러나 당신이 서비스 제공자 내에서 다음을 선택한다면 :

config(['web' => ['logo'=>'/[email protected]', 'company'=>'Acme Inc']]); 

이제 config('web.logo) 어디서나 응용 프로그램에서 사용할 수 config('web.company)을해야합니다.

+0

감사합니다. 사실 이전에 그것을 실제로 구현했고, 내가 이것을 할 수 있다는 것을 완전히 잊었다. –

+0

값이 데이터베이스에서 오는 경우 어떻게됩니까? 어떻게 처리 하시겠습니까? 아직도 설정에서? –

+0

물론, 당신은'config ([ 'web'=> [Config : query() -> first() -> toArray()]])' – user2094178