有动态变量

时间:2015-06-18 12:43:40

标签: php laravel-4

我有这个路线代码

Route::get('/{slug}', function($slug) {
  return View::make('page'); 
}); 

...比方说,我的网址$slug是"关于"作为值,我的page.blade.php内部需要看到$slug"关于"并将其输出为@include('modules.page.$slug'),其中$slug应该是简称,我希望我的@include读取此$slug作为我的动态名称来调用不同的页面

@section('content')
  @include('modules.page.$slug')
  @include('layouts.creic')
@stop

这可能吗?

2 个答案:

答案 0 :(得分:1)

嗯,你总是可以从Request类中获取它:

@section('content')
  @include('modules.page.'.Request::segment(1))
  @include('layouts.creic')
@stop

或者,您可以将其传递给视图:

Route::get('/{slug}', function($slug) {
  return View::make('page')->with('slug', $data); 
}); 

并像你已经这样访问它:

@section('content')
  @include('modules.page.'.$slug)
  @include('layouts.creic')
@stop

答案 1 :(得分:1)

首先,你应该将$ slug变量传递给你的视图:

<?php 
Route::get('/{slug}', function($slug) {
    return View::make('page', array('slug' => $slug)); 
}); 

并且,在您的刀片视图中...当您使用变量时,不要使用单引号。

@include("modules.page.$slug")