Për t'i kaluar të dhënat një pamjeje ose nga mbyllja e rrugës ose nga një kontrollues, bëni një nga sa vijon:
$now = \Carbon\Carbon::now();
View::make('my-view', ['name' => 'Alex', 'date' => $now]); // pass data into View:::make()
View::make('my-view')->with(['name' => 'Alex', 'date' => $now]); // pass data into View#with()
View::make('my-view')->withName('Alex')->withDate($now); // use fluent View#with()
Pra, thjesht do t'i përdorni ato në thirrjen View::make() siç supozohet se jeni tashmë:
// in a route closure
Route::get('some-route', function () {
return View::make('menu', ['name' => 'Alex']);
});
// in a controller
public function someRoute()
{
return View::make('menu', ['name' => 'Alex']);
}
Është interesante se në shumë korniza/sisteme shabllonesh, nëse dëshironi të përfshini një pjesë të pjesshme, do t'i kalonit të dhënat që dëshironi të ishin të disponueshme në atë pjesë në thirrjen e pjesshme, por Laravel nuk e bën plotësisht këtë. Për shembull, në një sistem të krijuar mund të keni diçka të tillë:
// in controller:
$this->render('home', ['name' => 'Alex', 'age' => 30]);
// home.php
<?php echo $name; ?>
<?php echo $this->partial('home-age', ['age' => $age]); ?>
// home-age.php
<?php echo $age; ?>
Por në Laravel, të gjitha variablat e pamjes aktuale përfshihen automatikisht në pjesë për ju. Tani më pëlqen të specifikoj variablat gjithsesi (Blade ju lejon ta bëni këtë si më sipër), dhe padyshim që mund të përdoret për të anashkaluar një variabël pamjeje:
// route:
return View::make('home', ['name' => 'Alex', 'age' => 30, 'gender' => 'male']);
// home.blade.php
{{ $name }}
@include('home-extra', ['age' => 20])
// home-extra.blade.php
{{ $age }}
{{ $gender }}
Kodi i mësipërm do të nxirrte:
Alex
20
male
Pra, mosha është anashkaluar në @include
, por gender
e patejkaluar sapo kalohet. Shpresojmë se kjo ka kuptim.
31.10.2014