所以我是laravel的新手,我试图创建一个非常简单的路线,但似乎无法返回视图。
你可以在下面看到我的路线
Route::get('overview', function()
{
return View::make('overview');
});
当用户导航到网址时:http://www.myapp.com/overview我希望该应用返回overview.php页面。该应用程序现在只会抛出500错误。
我的其他路线完美无缺,所以我对确切的错误感到困惑。你可以在下面看到它。
Route::get('/', function()
{
return View::make('index');
});
如果我将概览路线更改为视图索引,则会给出相同的500错误。 index.php和overview.php都存在于views文件夹中。
感谢您的帮助。
编辑:显示无法加载的测试页面。名为test.php的页面可以在app / views中找到如果我将概览路由更改为View::make('test')
,它也会失败。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Laravel PHP Framework</title>
<style>
@import url(//fonts.googleapis.com/css?family=Lato:700);
body {
margin:0;
font-family:'Lato', sans-serif;
text-align:center;
color: #999;
}
.welcome {
width: 300px;
height: 200px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -150px;
margin-top: -100px;
}
a, a:visited {
text-decoration:none;
}
h1 {
font-size: 32px;
margin: 16px 0 0 0;
}
</style>
</head>
<body>
<div class="welcome">
<a href="http://laravel.com" title="Laravel PHP Framework"></a>
<h1>You have arrived.</h1>
</div>
</body>
</html>
编辑2:添加了我的htaccess文件
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteBase /falke/
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
答案 0 :(得分:0)
首先,您正在使用blade
样式视图加载,但您没有使用任何刀片布局,也没有使用扩展名中blade
的任何刀片视图。所以,首先你需要为你的模板使用一个布局,它可能在view/layouts/master
文件夹中可用,如果没有,那么创建一个如下:
// "app/views/layouts/master.blade.php"
<!DOCTYPE html>
<html lang="en">
<head>
<title>Laravel PHP Framework</title>
<style>
@import url("//fonts.googleapis.com/css?family=Lato:700");
</style>
</head>
<body>
@yield('content')
</body>
</html>
然后像这样创建overview.blade.php
视图:
@extends('layouts.master')
@section('content')
<h2>Welcome</h2>
@stop
所以你可以在你的函数中使用这样的东西:
return View::make('overview');
否则(如果不是blade
,overview.php
)您必须在函数中使用以下内容而不是return View(...)
:
$this->layout->content = View::make('overview');
此外,您需要在BaseController
:
protected $layout = 'layouts.master'; // default
详细了解Laravel website。