如何在Laravel 5中制作php布局


How to make php layouts in Laravel 5?

几天前,我决定在下一个项目中开始使用laravel,但我很困惑,因为我觉得文档不是很有吸引力,而且我还是一个laravel初学者。

因此,我没有找到如何使用PHP创建布局的解决方案(而不是内置的刀片模板引擎(。

我该怎么做?在一个大项目中,组织布局的最佳方式是什么?

感谢

有许多方法论处理模板。

1.使用常规includerequire

您可以包括header.phpsidebar.phpfooter.php,以及您喜欢的每个扇区的任意多个文件(这取决于模板的大小(

2.使用一个通用文件并在其中包含类

包括单个文件并调用类来渲染每个区域

class Head {
    public function render($_page, $_data) {
        extract($_data);
        include($_page);
    }
}

3.使用模板引擎

You shall prefer few templating engine like smart, raintpl etc., (I guess you don't prefer it ;) )

4.通过inc收购

你可以按照建议在这里包括

<html>
      <head>
         <title><?=$this->title</title>
      </head>
      <body>Hey <?=$this->name?></body>
</html>

php区域将是

$view = new Template();
$view->title="Hello World app";
$view->properties['name'] = "Jude";
echo $view->render('hello.inc');

5.通过在数据库中设置模板段

相信我,我看到了许多好的网站,它们将模板存储在数据库中,每次都会进行渲染。这个想法可能看起来很奇怪,但就连我在一个项目中也尝试过。

结论:

但如果我使用Laravel,我肯定会更喜欢Blading Tempalte引擎,我也推荐你。

更新:

使用刀片模板的一些好处

1.属性设置简单

在移动中设置属性

<title>App Name - @yield('title')</title>

2.容易屈服

   <body>
        @section('sidebar')
            This is the master sidebar.
        @show
        <div class="container">
            @yield('content')
        </div>
    </body>

3.简单回声

像这个

Hello, {{ $name }}

4.条件简单

像这个

{{ isset($name) ? $name : 'Default' }}

5.永远不要逃跑

像这个

Hello, {!! $name !!}.

6.漂亮的If语句

我更喜欢这种方式让我的代码更漂亮

@if (count($records) === 1)
    I have one record!
@elseif (count($records) > 1)
    I have multiple records!
@else
    I don't have any records!
@endif

7.检查身份验证

检查身份验证的最简单方法

@unless (Auth::check())
    You are not signed in.
@endunless

8.易于循环

这个for循环看起来像

@for ($i = 0; $i < 10; $i++)
    The current value is {{ $i }}
@endfor

9.出色的foreach语句

拆分密钥和值再简单不过了

@foreach ($users as $user)
    <p>This is user {{ $user->id }}</p>
@endforeach

10.包括文件

像这个一样的include文件怎么样

@include('view.name')

11.将参数传递到视图

可以将此数组传递到您的视图

@include('view.name',['some'=>'data'](

来源:Laravel Templates