最近做項(xiàng)目用到了laravel框架柠硕,所以決定從前端的角度對laravel進(jìn)行了一些學(xué)習(xí)和總結(jié)妖枚。
laravel簡介
1、laravel是php框架
2峭竣、具有驗(yàn)證塘辅、路由、session皆撩、緩存扣墩、數(shù)據(jù)庫遷移工具哲银、單元測試等常用的工具和功能
laravel使用
1、開發(fā)環(huán)境
1.對php版本的要求
laravel版本 | PHP版本 |
---|---|
5.1呻惕、5.2 | 5.5.9+ |
4.2 | 5.4+ |
4.1 | 5.3.7+ |
ps:laravel發(fā)布的第一個(gè)LTS(long time support)版本是5.1荆责,建議使用5.1以上版本
2.Windows系統(tǒng)下使用的是XAMPP搭建環(huán)境
上圖XAMPP安裝后XAMPP文件夾下文件目錄
2、下載
1亚脆、直接下載地址:http://www.golaravel.com/download/
2做院、本文案例使用5.2版本
3、啟動(dòng)XAMPP濒持,下載的安裝包解壓键耕,解壓后的文件夾整個(gè)放入htdocs目錄下
4、在瀏覽器中輸入http://localhost:82/laravel/public/柑营,82是我設(shè)置的端口郁竟,默認(rèn)端口是80
5、如果不出錯(cuò)可以看到以下內(nèi)容
3由境、目錄
1、app包含應(yīng)用程序的核心代碼
ps:MVC中的C蓖议,即controller放在app文件夾下的http文件夾中
2虏杰、bootstrap目錄包含框架啟動(dòng)和自動(dòng)加載配置的文件
3、config包含所有應(yīng)用程序的配置文件勒虾,eg:緩存纺阔,數(shù)據(jù)庫,郵件修然,隊(duì)列笛钝,session,視圖and so on愕宋。
4玻靡、database,數(shù)據(jù)庫遷移與數(shù)據(jù)填充文件
5中贝、storage放一些編譯后生成的文件
6囤捻、tests測試相關(guān)
7、vendor放置一些依賴模塊
8邻寿、public文件夾放一些公用的css蝎土,js,image圖片等
9绣否、resources放一些模板誊涯,視圖文件
4、寫一個(gè)Hello World
在安裝時(shí)我們曾經(jīng)看到過laravel5蒜撮,這個(gè)頁面是laravel框架的默認(rèn)welcome頁暴构,該頁面方式resources文件夾下面的views文件夾中,文件名叫做welcome.blade.php,打開該文件將Laravel 5改為Hello World丹壕!
刷新頁面done~
laravel框架新建頁面流程
1庆械、什么是路由
路由:當(dāng)用戶訪問一個(gè)URL地址時(shí),瀏覽器請求相應(yīng)的頁面菌赖,這其中路由控制著資源和URI的對應(yīng)關(guān)系缭乘。
在laravel中路由文件routes.php用于放在app/Http/下。上節(jié)例子中Hello world寫在welcome.blade.php文件中琉用,該文件位于laravel項(xiàng)目的根目錄下堕绩,因此打開routes.php文件可以看到對應(yīng)的路由是
Route::get('/', function () {
return view('welcome');
});
這段代碼Route路由使用get方法,在根目錄下返回一個(gè)視圖邑时,該視圖就是放在resources下的views文件夾下的welcome文件奴紧。
寫個(gè)小頁面
在resources/views/下新建monday.blade.php文件,里面寫‘今天周一’晶丘,在routes.php文件中寫上以下代碼
Route::get('monday', function () {
return view('monday');
});
瀏覽器中訪問http://localhost:**/laravel/public/monday 可以看到剛剛效果黍氮。
ps:路由的請求方法有多重,get只是其中的一種浅浮,除此之外還有post沫浆,put,delete等多種方法
2滚秩、新建控制器
控制器負(fù)責(zé)從視圖讀取數(shù)據(jù)专执、控制用戶輸入、并且像模型發(fā)送數(shù)據(jù)
在laravel中新建控制器需要在Http/Controllers文件夾下郁油,新建一個(gè)控制器文件本股。
新建步奏
1、在Http/Controllers文件夾下新建一個(gè)php文件命名為WeekController.php
在該文件中輸入以下代碼
<?php
namespace App\Http\Controllers;
use App\Week;
// 聲明命名空間
// 創(chuàng)建一個(gè)類WeekController繼承自控制器基類
class WeekController extends Controller
{
// 寫一個(gè)方法
public function week()
{
return 'week';
}
}
2桐腌、將控制器與路由相關(guān)聯(lián)
在routes.php中添加以下代碼
Route::get('week','WeekController@week');
瀏覽器訪問就可以看到網(wǎng)頁中輸出week拄显。
3、新建視圖
之前已經(jīng)提到過視圖頁面放在resources/views/下
新建步奏
1案站、在該文件夾下新建一個(gè)week.blade.php文件凿叠,敲入
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>新建視圖</title>
</head>
<body>
今天星期四
</body>
</html>
2、打開routes.php文件嚼吞,敲入
Route::get('weekdemo',function(){
return view('week');
});
4盒件、新建模型
laravel中模型是直接放在App目錄下,模型是應(yīng)用程序的主體部分,模型是對業(yè)務(wù)數(shù)據(jù)的封裝用于實(shí)現(xiàn)業(yè)務(wù)邏輯舱禽。
在App目錄下有一個(gè)默認(rèn)的model叫做User.php炒刁。當(dāng)我們需要建立自己的模型時(shí)可以新建一個(gè)自己的php文件,比如新建一個(gè)week.php誊稚。
里面會(huì)有下面三行代碼
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
和控制器相似這個(gè)也是對命名空間的聲明
然后敲入如下代碼
class Week extends Model
{
public static function getWeek(){
return 'today is monday';
}
}
然后使用時(shí)在控制器中的week方法里return Week::getWeek();即可翔始。