Laravel框架中的Flash会话

85 阅读1分钟

安装Laravel

  1. getcomposer.org/download/下载并安装最新版本的Composer.

  2. Visual Studio Code中打开Windows终端,用下面的命令安装Laravel安装器

    composer global require laravel/installer
    

    (adsbygoogle = window.adsbygoogle || []).push({});

  3. 创建新的文件夹命名为LearnLaravelWithRealApps.使用Visual Studio Code打开LearnLaravelWithRealApps文件夹。在这个文件夹中,创建名为LearnLaravelWithRealApps的新项目,命令如下。

    laravel new LearnLaravelWithRealApps
    

    (adsbygoogle = window.adsbygoogle || []).push({});

  4. 运行LearnLaravelWithRealApps项目,命令如下。

    php artisan serve
    
  5. 打开LearnLaravelWithRealApps项目,网址如下。

    http://localhost:8000
    

    (adsbygoogle = window.adsbygoogle || []).push({});

(addsbygoogle = window.addsbygoogle || []).push({});

控制器

app/Http/Controllers文件夹下创建名为DemoController.php的新PHP文件,如下所示。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class DemoController extends Controller
{
	public function index(Request $request)
	{
		$request->session()->flash('msg1', 'abc');
		$request->session()->flash('msg2', 'def');
		return redirect('/demo/index2');
	}

	public function index2(Request $request)
	{
		if ($request->session()->has('msg1')) {
			echo 'msg1: ' . $request->session()->get('msg1').'<br>';
		}
		return view('demo/index');
	}
}

(adsbygoogle = window.adsbygoogle || []).push({})。

观点

resources/views文件夹下创建名为demo的新文件夹。在这个文件夹中,创建名为index.blade.php的新刀片文件,如下所示。

<html>

	<html>

	<head>
		<title>Laravel</title>
	</head>

	<body>

		@if(Session::has('msg1'))
			msg1: {{session('msg1')}}
		<br>
		@endif

		@if(Session::has('msg2'))
			msg2: {{session('msg2')}}
		@endif
		<h3>Index</h3>

	</body>

</html>

(adsbygoogle = window.adsbygoogle || []).push({})。

路由

打开路由文件夹中的web.php文件,添加新的路由,如下所示。

<?php
				
use Illuminate\Support\Facades\Route;

use App\Http\Controllers\DemoController;

Route::group([], function () {
	Route::get('/', [DemoController::class, 'index']);
	Route::get('/demo', [DemoController::class, 'index']);
	Route::get('/demo/index', [DemoController::class, 'index']);
	Route::get('/demo/index2', [DemoController::class, 'index2']);
});

(adsbygoogle = window.adsbygoogle || []).push({});

Laravel项目的结构

(adsbygoogle = window.adsbygoogle || []).push({});

运行应用程序

Demo控制器中用urlhttp://localhost:8000/demo/index**访问**index**动作,以创建新的会话,并重定向到**Demo**控制器中的**index2**动作,url**http://localhost:8000/demo/index2

输出