最近做項目用到了laravel框架,所以決定從前端的角度對laravel進行了一些學習和總結。
laravel簡介
1、laravel是php框架
2、具有驗證、路由、session、緩存、數據庫遷移工具、單元測試等常用的工具和功能
laravel使用
1、開發環境
1.對php版本的要求
laravel版本 | PHP版本 |
---|---|
5.1、5.2 | 5.5.9+ |
4.2 | 5.4+ |
4.1 | 5.3.7+ |
ps:laravel發布的第一個LTS(long time support)版本是5.1,建議使用5.1以上版本
2.Windows系統下使用的是XAMPP搭建環境
上圖XAMPP安裝后XAMPP文件夾下文件目錄
2、下載
1、直接下載地址:http://www.golaravel.com/download/
2、本文案例使用5.2版本
3、啟動XAMPP,下載的安裝包解壓,解壓后的文件夾整個放入htdocs目錄下
4、在瀏覽器中輸入http://localhost:82/laravel/public/,82是我設置的端口,默認端口是80
5、如果不出錯可以看到以下內容
3、目錄
1、app包含應用程序的核心代碼
ps:MVC中的C,即controller放在app文件夾下的http文件夾中
2、bootstrap目錄包含框架啟動和自動加載配置的文件
3、config包含所有應用程序的配置文件,eg:緩存,數據庫,郵件,隊列,session,視圖and so on。
4、database,數據庫遷移與數據填充文件
5、storage放一些編譯后生成的文件
6、tests測試相關
7、vendor放置一些依賴模塊
8、public文件夾放一些公用的css,js,image圖片等
9、resources放一些模板,視圖文件
4、寫一個Hello World
在安裝時我們曾經看到過laravel5,這個頁面是laravel框架的默認welcome頁,該頁面方式resources文件夾下面的views文件夾中,文件名叫做welcome.blade.php,打開該文件將Laravel 5改為Hello World!
刷新頁面done~
laravel框架新建頁面流程
1、什么是路由
路由:當用戶訪問一個URL地址時,瀏覽器請求相應的頁面,這其中路由控制著資源和URI的對應關系。
在laravel中路由文件routes.php用于放在app/Http/下。上節例子中Hello world寫在welcome.blade.php文件中,該文件位于laravel項目的根目錄下,因此打開routes.php文件可以看到對應的路由是
Route::get('/', function () {
return view('welcome');
});
這段代碼Route路由使用get方法,在根目錄下返回一個視圖,該視圖就是放在resources下的views文件夾下的welcome文件。
寫個小頁面
在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、新建控制器
控制器負責從視圖讀取數據、控制用戶輸入、并且像模型發送數據
在laravel中新建控制器需要在Http/Controllers文件夾下,新建一個控制器文件。
新建步奏
1、在Http/Controllers文件夾下新建一個php文件命名為WeekController.php
在該文件中輸入以下代碼
<?php
namespace App\Http\Controllers;
use App\Week;
// 聲明命名空間
// 創建一個類WeekController繼承自控制器基類
class WeekController extends Controller
{
// 寫一個方法
public function week()
{
return 'week';
}
}
2、將控制器與路由相關聯
在routes.php中添加以下代碼
Route::get('week','WeekController@week');
瀏覽器訪問就可以看到網頁中輸出week。
3、新建視圖
之前已經提到過視圖頁面放在resources/views/下
新建步奏
1、在該文件夾下新建一個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目錄下,模型是應用程序的主體部分,模型是對業務數據的封裝用于實現業務邏輯。
在App目錄下有一個默認的model叫做User.php。當我們需要建立自己的模型時可以新建一個自己的php文件,比如新建一個week.php。
里面會有下面三行代碼
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
和控制器相似這個也是對命名空間的聲明
然后敲入如下代碼
class Week extends Model
{
public static function getWeek(){
return 'today is monday';
}
}
然后使用時在控制器中的week方法里return Week::getWeek();即可。