passing data to a view laravel

2020-05-07 06:27发布

问题:

Just getting to mvc frameworks and im trying to pass data to my view using blade template engine.

here's my routes file

Route::get('/', 'PagesController@index');

my PagesController

<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;

class PagesController extends Controller {

    public function index() {

        return view('index');

        $url = 'example.com';
    }

    public function about() {


        return 'hello';


    }

}

my index.blade.php file

<h1>{{ $url }}</h1>

I get the Undefined variable: url error message. What am i doing wrong?

回答1:

Try this

public function index() {
   $url = 'example.com';
   return view('index', ['url' => $url]); 
}

Initialize the variable and send it as a parameter to the view.



回答2:

you can also pass data to view by using multiple with.

return View::make('blog')->with('posts', $posts)->with('anotherPost',$anotherPost);


you can always make multiple with or can pass values via array. whatever you think is best.