ใน Laravel 4 คอนโทรลเลอร์ของฉันใช้เลย์เอาต์ Blade:
class PagesController extends BaseController {
protected $layout = 'layouts.master';
}
เค้าโครงหลักมีเอาต์พุตชื่อตัวแปรจากนั้นแสดงมุมมอง:
...
<title>{{ $title }}</title>
...
@yield('content')
....
อย่างไรก็ตามในคอนโทรลเลอร์ของฉันดูเหมือนว่าจะสามารถส่งผ่านตัวแปรไปยังมุมมองย่อยเท่านั้นไม่ใช่เลย์เอาต์ ตัวอย่างเช่นการกระทำอาจเป็น:
public function index()
{
$this->layout->content = View::make('pages/index', array('title' => 'Home page'));
}
สิ่งนี้จะส่งผ่าน$title
ตัวแปรไปยังส่วนเนื้อหาของมุมมองเท่านั้น ฉันจะระบุตัวแปรนั้นให้กับมุมมองทั้งหมดหรืออย่างน้อยที่สุดในเค้าโครงหลักได้อย่างไร
@component('alert', ['foo' => 'bar'])
......