程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 跟我學Laravel之快速入門

跟我學Laravel之快速入門

編輯:PHP綜合

安裝

Laravel框架使用 Composer 執行安裝和依賴管理。如果還沒有安裝的話,現在就開始 安裝 Composer 吧。

安裝Composer之後,你就可以通過命令行使用如下命令安裝Laravel了:

composer create-project laravel/laravel your-project-name
或者,你可以從 Github倉庫 下載。接下來,在 安裝Composer 之後,在項目根目錄下執行 composer install 命令。該命令將會下載以及安裝框架的依賴組件。

寫入權限

安裝完 Laravel ,你還需要為web服務器設置 app/storage 目錄的寫入權限。請參考 安裝 一節以獲取更多關於配置方面的信息。

目錄結構

安裝完框架後,你需要熟悉一下該項目的目錄結構。app 文件夾包含了一些例如 views ,controllers 和 models 目錄。 程序中大部分代碼將要存放這些目錄下。你也可以查看一下 app/config 文件夾裡一些配置項目。

路由

我們開始創建我們第一個路由。在 Laravel,簡單路由的方法是閉包。打開 app/routes.php 文件加入如下代碼:

Route::get('users', function()
{
    return 'Users!';
});
現在,你在 web 浏覽器輸入 /users,你應該會看到 Users! 輸出。真棒!已經創建了你第一個路由。

路由也可以賦予控制器類。例如:

Route::get('users', 'UserController@getIndex');
該路由告知框架 /users 路由請求應該調用 UserController 類的 getIndex 方法。要查看更多關於路由控制器信息,查看 控制器文檔 。

創建視圖

接下來,我們要創建視圖來顯示我們用戶數據。視圖以HTML代碼存放在 app/views 文件夾。我們將存放兩個視圖文件到該文件夾:layout.blade.php 和 users.blade.php。首先,讓我們先創建 layout.blade.php 文件:

復制代碼 代碼如下:
<html>
    <body>
        <h1>Laravel Quickstart</h1>

        @yield('content')
    </body>
</html>

接著, 我們創建 users.blade.php 視圖:

復制代碼 代碼如下:
@extends('layout')

@section('content')
    Users!
@stop

這裡的語法可能讓你感到陌生。因為我們使用的是 Laravel 模板系統:Blade。Blade 非常快,因為僅使用了少量的正則表達式來為你的模板編譯成原始PHP代碼。Blade提供強大的功能,例如模板繼承,還有一些常用的PHP控制結構語法糖,例如 if 和 for。 查看 Blade 文檔 了解更多。

現在我們有了我們視圖,讓我們返回 /users 路由。我們用視圖來替代返回 Users!:

復制代碼 代碼如下:
Route::get('users', function()
{
    return View::make('users');
});

漂亮!現在你成功創建了繼承至layout的視圖。接下來,讓我們開始數據庫層。

創建遷移

要創建表來保存我們數據,我們將使用 Laravel 遷移系統。遷移描述數據庫的改變,這讓分享給他們團隊成員非常簡單。

首先,我們配置數據庫連接。你可以在 app/config/database.php 文件配置所有數據庫連接信息。默認,Laravel 被配置為使用 SQLite,並且一個 SQLite 數據庫存放在 app/database 目錄。你可以將數據庫配置文件的 driver 選項修改為 mysql 並且配置 mysql 連接信息。

接下來,要創建遷移,我們將使用 Artisan CLI。在項目根目錄中,在終端中執行以下命令:

復制代碼 代碼如下:
php artisan migrate:make create_users_table

然後,找到生成的遷移文件 app/database/migrations 目錄。該文件包含了一個包含兩個方法: up 和 down 的類。在 up 方法,你要指名數據庫表的修改,在 down 方法中你只需要移除它。

讓我們定義如下遷移:

復制代碼 代碼如下:
public function up()
{
    Schema::create('users', function($table)
    {
        $table->increments('id');
        $table->string('email')->unique();
        $table->string('name');
        $table->timestamps();
    });
}

public function down()
{
    Schema::drop('users');
}

然後,我們在項目根目錄中使用終端運行 migrate 命令來執行遷移:

復制代碼 代碼如下:
php artisan migrate

如果你想回滾遷移,你可以執行 migrate:rollback 命令。現在我們已經有了數據庫表,讓我們讓添加一些數據!

Eloquent ORM

Laravel 提供非常棒的 ORM:Eloquent。如果你使用過 Ruby on Rails 框架,你會發現 Eloquent 很相似,因為它遵循數據庫交互的 ActiveRecord ORM 風格。

首先,讓我們來定義個模型。ELoquent 模型可以用來查詢相關數據表,以及表內的某一行。別著急,我們很快會談及!模型通常存放在 app/models 目錄。讓我們在該目錄定義個 User.php 模型,如:

復制代碼 代碼如下:
class User extends Eloquent {}

注意我們並沒有告訴 Eloquent 使用哪個表。Eloquent 有多種約定, 一個是使用模型的復數形式作為模型的數據庫表。非常方便!

使用你喜歡的數據庫管理工具,插入幾行數據到 users 表,我們將使用 Eloquent 取得它們並傳遞到視圖中。

現在我們修改我們 /users 路由如下:

復制代碼 代碼如下:
Route::get('users', function()
{
    $users = User::all();

    return View::make('users')->with('users', $users);
});

讓我們來看看該路由。首先,User 模型的 all 方法將會從 users 表中取得所有記錄。接下來,我們通過 with 方法將這些記錄傳遞到視圖。with 方法接受一個鍵和一個值,那麼該值就可以在視圖中使用了。

激動啊。現在我們准備將用戶顯示在我們視圖!

顯示數據

現在我們視圖中已經可以訪問 users 類,我們可以如下顯示它們:

復制代碼 代碼如下:
@extends('layout')

@section('content')
    @foreach($users as $user)
        <p>{{ $user->name }}</p>
    @endforeach
@stop

你可以發現沒有找到 echo 語句。當使用 Blade 時,你可以使用兩個花括號來輸出數據。非常簡單,你現在應該可以通過 /users 路由來查看到用戶姓名作為響應輸出。

這僅僅是開始。在本系列教程中,你已經了解了 Laravel 基礎部分,但是還有更讓人興奮的東西要學。繼續閱讀該文檔並且深入Eloquent和Blade這些強大的特性。或者你對隊列 和 單元測試 感興趣。或許是你想了解IoC Container, 選擇權在於你!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved