我正在学习和开发laravel 5.3中的项目。所以我坚持认为,对于这个项目中的每个视图,我都将变量传递给后面的视图。
public function index()
{
$page_title = 'Page Title';
return view('home', ['title' => $page_title]);
}
所以在登录和注册控制器中没有返回视图的方法。我想将具有不同字符串值的相同变量传递给登录和注册表单。那我怎么能这样做呢。我想问的问题是,如何在我的项目中为未定义的路由添加404错误页面。第三个问题是我可以在我的项目中添加一些用户后设置404页面来注册路由(www.myproject.com/register)
。寻找回复..
返回视图的方法是特征,如果你想为这些方法添加自己的逻辑,你可以通过添加你自己的方法来覆盖它们,使用特征的类例如:
RegisterController
public function showRegistrationForm()
{
$title = 'Register';
return view('auth.register', compact('register'));
}
的LoginController
public function showLoginForm()
{
$title = 'Login';
return view('auth.login', compact('title'));
}
如果要添加自定义404错误页面,则只需在resources/views/errors/404.blade.php
创建该文件,如文档https://laravel.com/docs/5.4/errors#custom-http-error-pages中所示
Laravel带有一个RedirectIfAuthenticated
中间件,如果他们已经登录,它将(如顾名思义)将用户从路由中重新删除。默认情况下,登录和注册路由已经具有此功能。如果您想要更改此行为,只需编辑您的App\Http\Middleware\RedirectIfAuthenticated
类。
希望这可以帮助!
优化这可以节省你的'arss'
LoginController.php
public function showLoginForm()
{
$title = 'Login';
$css = array(
asset('sign-up-in/css/index.css'),
);
$js = array(
asset('sign-up-in/js/index.js'),
);
return view('auth.login', compact('title','css','js'));
}
每个其他控制器对RegisterController.php +(奖励)执行相同的操作 现在用这个来杀死它
app.blade.php
@if(isset($js))
@foreach($js as $key => $value)
<script src="{{$value}}"></script>
@endforeach
@endif
@if(isset($css))
@foreach($css as $key => $value)
<link href="{{$value}}" rel="stylesheet">
@endforeach
@endif
在登录控制器> AuthenticatesUsers trait中,您可以在此处键入变量。
public function showLoginForm()
{
$test = 'test';
return view('auth.login', compact('test));
}