在.blade.php模板中使用require_once是一个好习惯吗?

时间:2015-05-15 03:47:29

标签: php model-view-controller blade

通常我们会使用像

这样的东西
<?php
require_once 'init.php'; //file for start the session, connect to database etc.
?>
<!-- HTML Content Here-->
head body etc.
<!---------------------->

但是当你构建一个.blade.php模板时。事情也是那样的吗? 我的意思是我的模板就像

<?php
require_once 'init.php';
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>@yield('title')</title>
    <link rel="stylesheet" href="../public/css/bootstrap.min.css" media="screen">
    <link rel="stylesheet" href="../public/css/tpl.css">
    <link rel="stylesheet" href="../public/fonts/font.css">
</head>
<body>
    @yield('header')

    @yield('content')

    @yield('footer')
</body>
</html>

这是最佳做法还是有更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用

include"init.php";

include_once"init.php";

参考http://www.w3schools.com/php/php_includes.asp

答案 1 :(得分:0)

我建议您学习 Laravel身份验证,但不需要执行此类步骤。

Laravel已经为你处理了这些作品。

以下是Laravel Authentication Document

如果您使用的是Laravel 4.2,那么

在您的路线中,您应该添加

Route::group(array('before' => 'auth'), function(){ #Your Request here});

以下是

的示例路线
Route::get('home', 'YourControllerr@YourGeneralFunction');
Route::group(array('before' => 'auth'), function()
{
Route::get('dashboard', 'YourControllerr@YourSecureFunction');
});

在上述路线中,任何人(公共)都可以访问网址home。但是,只有登录用户才能访问URL dashboard

如果您使用 Laravel 5 或更高版本,那么它甚至可以简单

您可以通过

简单地检查用户

如果他们是用户,那么

@if(Auth::guest())

或者,如果用户已通过身份验证,则

if (Auth::check())
{
    // The user is logged in...
}

@if( Auth::check() )
    Current user: {{ Auth::user()->name }}
@endif