Laravel return blade 模板中的变量

Laravel return variable in blade template

我有如下路线。

Route::get('profile/{username}', 'ProfileController@index');

ProfileController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class ProfileController extends Controller
{
    function index() {
        view('profile.index');
    }
}

profile/index.blade.php

{username}

但是当我转到 /profile/salep 时它没有回显用户名,这里缺少什么?

如果我将我的 ProfileController 更改为此(如下),它可以工作,但 PhpStorm 为视图显示 "Unreachable stamement"。

class ProfileController extends Controller
{
    function index($username) {
        return $username;
        view('profile.index');
    }
}

我没有使用下面的结构(从文档中获取)因为我需要将我的变量传递给视图而不是 returning,所以我需要 return 和我想将其传递给视图。

Route::get('user/{id}', function ($id) {
    return 'User '.$id;
});

我解决了

routes.php

Route::get('profile/{username}', 'ProfileController@index');

ProfileController.php

class ProfileController extends Controller
{
    function index($username) {
        return view('profile.index')->with('username', $username);
    }
}

您第二次尝试就快成功了。

试试这个:

class ProfileController extends Controller
{
    function index($username) {
        return view('profile.index')->with('username', $username);
    }
}