Clicky

Jump to content


Photo
- - - - -

Laravel 5 - view-composers

6 replies to this topic

  • Please log in to reply

#1 Maciej Płocki

Maciej Płocki

    Początkujący

  • Użytkownik
  • Pip
  • 12 posts

Posted 05 February 2015 - 21:26 PM

http://laravel.com/d...#view-composers

Czy mógłby mi ktoś dokładniej wytłumaczyć ideę takiego rozwiązania i kiedy takie coś jest sens stosować?
 



#2 ara

ara

    Początkujący

  • Użytkownik
  • Pip
  • 7 posts

Posted 06 February 2015 - 06:30 AM

Jak sama nazwa wskazuje komponuje widoki. Przykład tagów, kategorii na stronie. Może sobie zrobić tak, żeby skomponowany widok był dodawany do jakiegoś innego widoku(albo kilku) automatycznie. Tak jak w dokumentacji 

 View::composer('profile', 'App\Http\ViewComposers\ProfileComposer');

do widoku 'profile' zostają dodane dane o nazwie $count. Możesz te dane wykorzystać w widoku 'profile'.

View::composer(['profile', 'dashboard'], 'App\Http\ViewComposers\ProfileComposer');

Lub automatycznie dodawać do innych widoków, bez grzebania w kodzie, żeby te dane uzyskać:)



#3 Maciej Płocki

Maciej Płocki

    Początkujący

  • Użytkownik
  • Pip
  • 12 posts

Posted 06 February 2015 - 13:43 PM

Czyli na prostym przykładzie:

router.php:

Route::any('/profile', function()
{
    return view('profile');
});

a wcześniej zrobiłem composer np . ten z dokumentacji, to rozumiem, że service provider już o to zadba  żeby wstrzyknąć dane do $count.

Co w przypadku kiedy chcę nadpisać dane z composera? można tak?:

Route::any('/profile', function()
{
    $data = ['count' => 'bar'];
    return view('profile', $data);
});


#4 ara

ara

    Początkujący

  • Użytkownik
  • Pip
  • 7 posts

Posted 08 February 2015 - 10:37 AM

 

Czyli na prostym przykładzie:

router.php:

Route::any('/profile', function()
{
    return view('profile');
});

a wcześniej zrobiłem composer np . ten z dokumentacji, to rozumiem, że service provider już o to zadba  żeby wstrzyknąć dane do $count.

Co w przypadku kiedy chcę nadpisać dane z composera? można tak?:

Route::any('/profile', function()
{
    $data = ['count' => 'bar'];
    return view('profile', $data);
});

No musisz sptóbować:)



#5 Maciej Płocki

Maciej Płocki

    Początkujący

  • Użytkownik
  • Pip
  • 12 posts

Posted 12 February 2015 - 05:28 AM

Tak jak się spodziewałem - nie działa :)
W przypadku view creators również.



#6 jarod21

jarod21

    Początkujący

  • Użytkownik
  • Pip
  • 1 posts

Posted 05 May 2015 - 15:28 PM

nie wiem jak jest z composerem bo dopiero zaczynam zabawę z laravelem ale aby dodać dane do widoku to

$data = ['count' => 'bar'];
return View::make('profile')->with('data',$data);


#7 Maciej Płocki

Maciej Płocki

    Początkujący

  • Użytkownik
  • Pip
  • 12 posts

Posted 08 May 2015 - 08:30 AM

view composer i tak nadpisze te dane, niestety.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users