溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel框架如何實現模板加載,分配變量及簡單路由功能

發布時間:2021-07-10 09:57:10 來源:億速云 閱讀:174 作者:小新 欄目:開發技術

小編給大家分享一下Laravel框架如何實現模板加載,分配變量及簡單路由功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

具體如下:

作為世界上第一的PHP框架,學習Laraver勢在必行,雖然國內盛行ThinkPHP,但是多會一個框架總是對自己有好處的.

通過前面的文章Laravel框架在本地虛擬機快速安裝的方法,我們已經可以順利安裝Laravel

安裝之后,在目錄laravel\app\Http下,有一個routes.php文件,重點了,這個就是控制全站的路由文件.

Route::get('/', function () {
 return view('welcome');
});

以上就是簡單的一個路由,如果你綁定了路由,并且開啟了apche和nginx的偽靜態,你可以通過域名http:xxx.com/來訪問

然后會出現漂亮的Laraver界面.

那么return指的是什么呢,就是返回一個視圖文件,Laraver的視圖文件在laravel\resources\views下面.Laraver規定視圖文件名以.blade.php結尾,通常我們在做項目的時候需要視圖很多,所以我們可以在views下面定義很多目錄,然后在

return view('index.index');

都是可以的.表示視圖下面目錄下的視圖文件,很多框架都是這樣的,只不過文件名命名會有區別.

以上只是一個簡單的路由調用了匿名函數,那么如何結合控制來用呢.

Laraver的控制器目錄在laravel\app\Http\Controllers下面,你可以通過Laraver自帶的

php artisen make:controller UseController

命令來創建控制器,并且里面已經生成了常用的方法,假如我們在控制的index方法下輸出內容

如果需要沒有任何定義的控制器,請在后面加上 --plain參數即可

但是如何訪問呢,請看代碼

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

這個例子就是將當前的目錄'/'綁定到了控制器UseController下的index方法

Route::get('/about','UseController@about');

 再比如這樣,我們可以http:xxx.com/about來訪問指定的控制下面的方法

這里的get有很多,比如需要使用post等等,以后會陸續接觸.

那么還有一個問題,這樣每次都要定義的一個路由是不是非常的麻煩呢,所以Laraver允許我們使用隱式控制器

Route::controller('User','UserController');

這樣就是訪問User下的任何一個方法,無需指定路由,但是這樣的話切記要在方法中遵循以下格式

get或者post等指定傳遞方式+Index,方法名第一個要大寫,傳參的話,要在function($a),在function里面寫上.

分類變量到blade模板,這里注意,和thinkphp框架不同,我們常用以下幾種方法:

1:

假如

$name = 'php artisen';

你可以在

return view('index')=>with('name',$name);

  然后在模板中使用{{ $name }}來解析分配的變量.

以上方法就等同于 

return view('index',['a'=>'b']);

不過這里在模板中解析的時候依然要使用{{ $a }} 來分配變量

2:

如果 

$articles = DB::table('user')->get();

利用數據庫查詢得出的結果

也見有人推薦這種寫法

return view('user.dashboard.index', compact('articles'));

不過這都是個人操作習慣.

在使用compact函數的情況下,我們就直接可以遍歷

$data = ['a','b','c'];

在使用

@foreach($data as $v)

的情況下,就可以直接使用{{ $v }}來遍歷了

3:

當然我們常用都是分配數組或對象過來.所以一般使用以下方法

你可以在

return view('index',$data);

需要注意的是,默認在config下database.php中的PDO 'fetch' => PDO::FETCH_ASSOC,中默認是為FETCH_CLASS為對象格式

所以在遍歷的時候,如果沒有修改默認設置,則遍歷時為{{ $a->v }}這種,如果是數組的時候,則是{{ $a['v'] }}

關于加載中的轉義和不轉義,舉例如下:

$a = '<span >this Laravel</span>';

{{ $a }} 輸出

<span >this Laravel</span>

{{!! $aa !!}} 輸出紅色字體的

'this Laravel'

知識點,如果加載的變量是一維數組,在模板中輸出為{{ $鍵名 }},舉例:

$data['a'] = 'this';
$data['n'] = 'that';
return view('sites.my',$data);

則在模板中

<p>我是$data分配過來的變量{{ $a }}</p>

這樣才行,不可以使用

$data['a']

看完了這篇文章,相信你對“Laravel框架如何實現模板加載,分配變量及簡單路由功能”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女