2014-03-03 54 views
0

我刚刚安装了laravel 4.1。我不是模板语言的忠实粉丝,所以我只想使用常规的php来进行模板。但是,我确实喜欢继承和laravel提供的部分。我已经看到了使用部分像这样的例子:PHP模板在Laravel 4

<?php Section::start('content'); ?> 
    Test Content 
<?php Section::stop(); ?> 

然而,当我尝试这对我安装我得到:

Class 'Section' not found 

当我尝试用刀片模板做它工作正常但不是一个常规的PHP模板。我找不到任何关于普通php模板的文档,我只能找到关于blade的文档。这在新版本中不可用还是已更改?任何链接或帮助将不胜感激,因为谷歌搜索不断得出如何使用刀片模板的结果。

回答

1

你实际上Illuminate/View/Environment.php寻找View

<!-- layuts/mastrer.php --> 

<body> 
    <?php echo View::yieldContent('content'); ?> 
</body> 

<!-- views/home/index.php --> 

<?php View::startSection('content'); ?> 

    <?php echo 'Welcome ' . $name; ?> 

<?php View::stopSection(); ?> 

BaseController类:

protected $layout = 'layouts.master'; 

protected function setupLayout() 
{ 
    if (! is_null($this->layout)) 
    { 
     $this->layout = View::make($this->layout); 
    } 
} 

HomeController类:

public function ShowHome() 
    $this->layout->title = 'Laravel -> Lout'; 
    $this->layout->content = View::make('home.index', ['name' => 'Sheikh Heera']); 
} 

但是,如果您使用这些功能,那么为什么不使用blade

+0

谢谢你的帮助。我现在能够正常工作,但是我唯一无法解决的事情是在视图中扩展布局。防爆。与刀片它将@extends('layous.default'),但通过该类看起来似乎并不像它支持与PHP引擎。我看到你可以在控制器中执行它,但我更愿意在模板中控制它。我不想使用刀片,因为我宁愿将我的模板分开。如果我要去另一个框架,我可以保留这些模板,并将数据发送到我可能无法使用的刀片上。 – ngreenwood6

+0

这根本不可能:-) –