Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Laravel yield alternatief

Pagina: 1
Acties:

  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 21-11 11:52
Hey allemaal,

Sinds kort ben ik bezig met het doornemen en leren van Laravel. Een groot aantal ontwikkelaars beginnen deze beweging te maken en ik vond het zelf ook wel erg interessant.

Wat mij alleen behoorlijk tegenzit is dat ik in elke view een section content (of hoe je je 'Yield'
in je masterview ook genoemd hebt) moet toevoegen.

Naar mijn mening is het alleen maar rommelig en aangezien ik toch alleen maar van Yield van content zie ik het nut niet helemaal in om te kunnen veranderen.

Mijn vraag is of het mogelijk is om te zorgen dat ik maar 1x hoef te zeggen hier moet mijn content in en mijn views gewoon 'clean' kunnen blijven.

ASP.NET heeft dit ook met RenderBody. Een view wordt netjes geladen in RenderBody() en in de view hoef je niet steeds op te geven waar hij moet renderen.

Ik hoop dat iemand een oplossing weet.

Met vriendelijke groet,

Kevin.

  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 21-11 11:52
Nou nee dat gaat over het eenmalig definiëren voor een master template. Ik wil juist af dat ik elke keer
code:
1
2
3
@section('content')

@stop


moet gebruiken aangezien ik altijd de content wil yielden.

  • _Moe_
  • Registratie: Mei 2006
  • Laatst online: 20-11 20:04
Dit (kijk controller layouts) is toch echt wel de oplossing hoor. Als je dit dan nog in combinatie doet met een soort van base controller waar je de maintemplate met zijn maincomponenten in aanroept hoef je echt niets meer te herhalen.

RTFM!


  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21-11 14:12
Als je een basecontroller gebruikt en daar idd je master template aangeeft, en dan in je mater template $content print, kan je in je controllers volgens mij gewoon volstaan met $this->layout->content = View::make($template);
Maar dat is alweer een tijdje geleden, tegenwoordig gebruik ik Twig ipv Blade en extend ik wel gewoon een template in mijn views.

Over Laravel gesproken, gaan er zo nog mensen naar Laracon EU in Amsterdam?

  • _Moe_
  • Registratie: Mei 2006
  • Laatst online: 20-11 20:04
Barryvdh schreef op donderdag 28 augustus 2014 @ 08:31:
Als je een basecontroller gebruikt en daar idd je master template aangeeft, en dan in je mater template $content print, kan je in je controllers volgens mij gewoon volstaan met $this->layout->content = View::make($template);
Maar dat is alweer een tijdje geleden, tegenwoordig gebruik ik Twig ipv Blade en extend ik wel gewoon een template in mijn views.

Over Laravel gesproken, gaan er zo nog mensen naar Laracon EU in Amsterdam?
Laracon zit er voor mij nog niet in.

RTFM!


  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 21-11 11:52
_Moe_, jij zegt dat het de oplossing is wat console vermeldde, echter hoe kan ik dan het stukje section weglaten in de view. Dat begrijp ik nog niet helemaal.

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21-11 14:12
Je kan je views nesten, in de basis layout.
Toevalig ook voorbeeldje hier halverwege van presentatie vandaag: https://speakerdeck.com/a...h-laravel-tricks-and-tips

  • _Moe_
  • Registratie: Mei 2006
  • Laatst online: 20-11 20:04
kevinkrs schreef op donderdag 28 augustus 2014 @ 20:43:
_Moe_, jij zegt dat het de oplossing is wat console vermeldde, echter hoe kan ik dan het stukje section weglaten in de view. Dat begrijp ik nog niet helemaal.
Als je het aangehaalde voorbeeld eens goed bekijk, moet het toch echt wel duidelijk zijn lijkt me.

PHP:
1
2
3
4
5
6
$mainView = View::make('main.layout');
$mainView->section1 = View::make('section1');
$mainView->section2 = View::make('section2');
$mainView->section1->extrasection = View::make('extrasection');

return $mainView;

RTFM!

Pagina: 1