欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Laravel 5 框架入門(一)

 更新時(shí)間:2015年04月09日 09:48:56   投稿:hebedich  
本文給大家介紹的是Laravel5框架入門的第一篇文章,主要給大家介紹些基礎(chǔ)的知識(shí),包括安裝配置,數(shù)據(jù)庫的建立與遷移,模型介紹,是篇非常不錯(cuò)的入門文章,這里推薦給大家。

Laravel 5 中文文檔:

1. http://laravel-china.org/docs/5.0

2. http://www.golaravel.com/laravel/docs/5.0/

默認(rèn)條件

本文默認(rèn)你已經(jīng)有配置完善的 PHP + MySQL 運(yùn)行環(huán)境,懂得 PHP 網(wǎng)站運(yùn)行的基礎(chǔ)知識(shí)。跟隨本教程走完一遍,你將會(huì)得到一個(gè)基礎(chǔ)的包含登錄的簡單 blog 系統(tǒng),并將學(xué)會(huì)如何使用一些強(qiáng)大的 Laravel 插件和 composer 包(Laravel 插件也是 composer 包)。

軟件版本:PHP 5.4+,MySQL 5.1+

本文不推薦完全不懂 PHP 與 MVC 編程的人學(xué)習(xí)。本文不是 “一步一步跟我做” 教程。本文需要你付出一定的心智去解決一些或大或小的隱藏任務(wù),以達(dá)到真正理解 Laravel 運(yùn)行邏輯的目的。

1. 安裝

許多人被攔在了學(xué)習(xí)Laravel的第一步,安裝。并不是因?yàn)榘惭b教程有多復(fù)雜,而是因?yàn)椤颈娝苤脑颉?。在此我推薦一個(gè)composer全量中國鏡像:http://pkg.phpcomposer.com/ 。推薦以 “修改 composer 的配置文件” 方式配置。

鏡像配置完成后,切換到你想要放置該網(wǎng)站的目錄下(如 C:\\wwwroot、/Library/WebServer/Documents/、/var/www/html、/etc/nginx/html 等),運(yùn)行命令:

composer create-project laravel/laravel learnlaravel5

然后,稍等片刻,當(dāng)前目錄下就會(huì)出現(xiàn)一個(gè)叫 learnlaravel5 的文件夾。

然后將網(wǎng)站根目錄配置為 learnlaravel5/public。

如果你不會(huì)配置,建議去學(xué)會(huì)配置,網(wǎng)上資料很多。如果自暴自棄,可以把 的第 29 行'url' => 'http://localhost', 配置成你的子目錄地址,注意,要一直配置到 ***/learnlaravel5/public。

使用瀏覽器訪問你配置的地址,將看到以下畫面(我在本地配置的地址為 http://fuck.io:88 ):


2. 體驗(yàn) Auth 系統(tǒng)并完成安裝

—— 經(jīng)過上面的過程,Laravel 5 的安裝成功了?

—— 沒有o(╯□╰)o

查看路由文件 `learnlaravel5/app/Http/routes.php` 的代碼:

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

Route::get('home', 'HomeController@index');

Route::controllers([
	'auth' => 'Auth\AuthController',
	'password' => 'Auth\PasswordController',
]);

跟隨代碼里的蛛絲馬跡,讓我們訪問 http://fuck.io:88/home (請自行替換域名),結(jié)果竟然跳轉(zhuǎn)到了登陸頁?


沒錯(cuò),Laravel 自帶了開箱即用的 Auth 系統(tǒng),連頁面都已經(jīng)寫好了。

讓我們隨意輸入郵箱和密碼,點(diǎn)擊登錄,你很可能得到以下畫面(Mac 或 Linux 下):


為什么空白?用開發(fā)者工具查看,這個(gè)請求的狀態(tài)碼是 500,為什么?

因?yàn)?`learnlaravel5/storage` 目錄沒有 777 權(quán)限。

執(zhí)行 shell 命令:

cd learnlaravel5

sudo chmod -R 777 storage

重新訪問 http://fuck.io:88/home ,隨意輸入郵箱和密碼,如果你得到以下畫面:


那么恭喜你~ Laravel 5 安裝成功!

不想配置鏡像的同學(xué),可以使用 Laravel 界非常著名的 安正超 搞的安裝神器:https://github.com/overtrue/latest-laravel

3. 數(shù)據(jù)庫建立及遷移

Laravel 5 把數(shù)據(jù)庫配置的地方改到了 `learnlaravel5/.env`,打開這個(gè)文件,編輯下面四項(xiàng),修改為正確的信息:

DB_HOST=localhost

DB_DATABASE=laravel5

DB_USERNAME=root

DB_PASSWORD=password

推薦新建一個(gè)名為 laravel5 的數(shù)據(jù)庫,為了學(xué)習(xí)方便,推薦使用 root 賬戶直接操作。

Laravel 已經(jīng)為我們準(zhǔn)備好了 Auth 部分的 migration,運(yùn)行以下命令執(zhí)行數(shù)據(jù)庫遷移操作:

php artisan migrate

得到的結(jié)果如下:


如果你運(yùn)行命令報(bào)錯(cuò),請檢查數(shù)據(jù)庫連接設(shè)置。

至此,數(shù)據(jù)庫遷移已完成,你可以打開 http://fuck.io:88/home 歡快地嘗試注冊、登錄啦。

4. 模型 Models

接下來我們將接觸Laravel最為強(qiáng)大的部分,Eloquent ORM,真正提高生產(chǎn)力的地方,借用庫克的一句話:鵝妹子英!

運(yùn)行一下命令:

php artisan make:model Article

php artisan make:model Page

> Laravel 4 時(shí)代,我們使用 Generator 插件來新建 Model?,F(xiàn)在,Laravel 5 已經(jīng)把 Generator 集成進(jìn)了 Artisan。

現(xiàn)在,Artisan 幫我們在 `learnlaravel5/app/` 下創(chuàng)建了兩個(gè)文件 `Article.php` 和 `Page.php`,這是兩個(gè) Model 類,他們都繼承了 Laravel Eloquent 提供的 Model 類 `Illuminate\Database\Eloquent\Model`,且都在 `\App` 命名空間下。這里需要強(qiáng)調(diào)一下,用命令行的方式創(chuàng)建文件,和自己手動(dòng)創(chuàng)建文件沒有任何區(qū)別,你也可以嘗試自己創(chuàng)建這兩個(gè) Model 類。

Model 即為 MVC 中的 M,翻譯為 模型,負(fù)責(zé)跟數(shù)據(jù)庫交互。在 Eloquent 中,數(shù)據(jù)庫中每一張表對應(yīng)著一個(gè) Model 類(當(dāng)然也可以對應(yīng)多個(gè))。

如果你從其他框架轉(zhuǎn)過來,可能對這里一筆帶過的 Model 部分很不適應(yīng),沒辦法,是因?yàn)?Eloquent 實(shí)在太強(qiáng)大了啦,真的沒什么好做的,繼承一下 Eloquent 類就能實(shí)現(xiàn)很多很多功能了。

如果你想深入地了解 Eloquent,可以閱讀系列文章:Laravel 5框架學(xué)習(xí)之Eloquent 關(guān)系

接下來進(jìn)行 Article 和 Page 類對應(yīng)的 articles 表和 pages表的數(shù)據(jù)庫遷移,進(jìn)入 `learnlaravel5/database/migrations` 文件夾。

在 ***_create_articles_table.php 中修改:

Schema::create('articles', function(Blueprint $table)
{
	$table->increments('id');
	$table->string('title');
	$table->string('slug')->nullable();
	$table->text('body')->nullable();
	$table->string('image')->nullable();
	$table->integer('user_id');
	$table->timestamps();
});

在 ***_create_pages_table.php 中修改:

Schema::create('pages', function(Blueprint $table)
{
	$table->increments('id');
	$table->string('title');
	$table->string('slug')->nullable();
	$table->text('body')->nullable();
	$table->integer('user_id');
	$table->timestamps();
});

然后執(zhí)行命令:

php artisan migrate

成功以后, tables 表和 pages 表已經(jīng)出現(xiàn)在了數(shù)據(jù)庫里,去看看吧~

5. 數(shù)據(jù)庫填充 Seeder

在 `learnlaravel5/database/seeds/` 下新建 `PageTableSeeder.php` 文件,內(nèi)容如下:

<?php

use Illuminate\Database\Seeder;
use App\Page;

class PageTableSeeder extends Seeder {

 public function run()
 {
  DB::table('pages')->delete();

  for ($i=0; $i < 10; $i++) {
   Page::create([
    'title'  => 'Title '.$i,
    'slug'  => 'first-page',
    'body'  => 'Body '.$i,
    'user_id' => 1,
   ]);
  }
 }

}

然后修改同一級目錄下的 `DatabaseSeeder.php`中:

// $this->call('UserTableSeeder');

這一句為

$this->call('PageTableSeeder');

然后運(yùn)行命令進(jìn)行數(shù)據(jù)填充:

composer dump-autoloadphp artisan db:seed

去看看 pages 表,是不是多了十行數(shù)據(jù)?

本教程示例代碼見:https://github.com/johnlui/Learn-Laravel-5

大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。

以上所述就是本文的全部內(nèi)容了,希望能夠?qū)Υ蠹覍W(xué)習(xí)Laravel5框架有所幫助。

相關(guān)文章

  • PHP框架laravel的.env文件配置教程

    PHP框架laravel的.env文件配置教程

    在之前的版本 Laravel 是使用 config 文件夾下的 php 文件來完成項(xiàng)目所需要的配置的,后面從大概從 5 開始就使用了 .env 來放置部分配置。那么下面這篇文章主要給大家介紹了關(guān)于PHP框架laravel的.env文件配置的相關(guān)資料,需要的朋友可以參考學(xué)習(xí)。
    2017-06-06
  • 關(guān)于DISCUZ不用通行證登陸得內(nèi)容介紹

    關(guān)于DISCUZ不用通行證登陸得內(nèi)容介紹

    DISCUZ是中國最常用的論壇,雖然他本身有通行證給大家連接,但實(shí)際上用戶的統(tǒng)一還是很不好,經(jīng)常要建立兩個(gè)用戶表,第一不利于注冊和管理,第二浪費(fèi)數(shù)據(jù)庫。
    2008-10-10
  • yii2組件之下拉框帶搜索功能的示例代碼(yii-select2)

    yii2組件之下拉框帶搜索功能的示例代碼(yii-select2)

    本篇文章主要介紹了yii2組件之下拉框帶搜索功能的示例代碼(yii-select2),具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-09-09
  • PhpStorm配置Xdebug調(diào)試的方法步驟

    PhpStorm配置Xdebug調(diào)試的方法步驟

    這篇文章主要介紹了PhpStorm配置Xdebug調(diào)試的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Yii使用DeleteAll連表刪除出現(xiàn)報(bào)錯(cuò)問題的解決方法

    Yii使用DeleteAll連表刪除出現(xiàn)報(bào)錯(cuò)問題的解決方法

    這篇文章主要介紹了Yii使用DeleteAll連表刪除出現(xiàn)報(bào)錯(cuò)問題的解決方法,分析了相關(guān)的SQL語句及出現(xiàn)錯(cuò)誤的原因與改正方法,需要的朋友可以參考下
    2016-07-07
  • PHPstorm啟用自動(dòng)換行的方法詳解(IDE)

    PHPstorm啟用自動(dòng)換行的方法詳解(IDE)

    這篇文章主要介紹了PHPstorm啟用自動(dòng)換行的方法詳解(IDE),本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • PHP微信開發(fā)之文本自動(dòng)回復(fù)

    PHP微信開發(fā)之文本自動(dòng)回復(fù)

    這篇文章主要為大家詳細(xì)介紹了PHP微信開發(fā)之簡單實(shí)現(xiàn)文本自動(dòng)回復(fù)的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Yii框架的路由配置方法分析

    Yii框架的路由配置方法分析

    這篇文章主要介紹了Yii框架的路由配置方法,結(jié)合實(shí)例形式總結(jié)分析了Yii框架路由的常見配置與使用操作技巧,需要的朋友可以參考下
    2019-09-09
  • 讓CodeIgniter數(shù)據(jù)庫緩存自動(dòng)過期的處理的方法

    讓CodeIgniter數(shù)據(jù)庫緩存自動(dòng)過期的處理的方法

    按官方的說法,緩存設(shè)置后永不過期,除非你調(diào)用方法主動(dòng)刪除。這篇文章主要介紹了CodeIgniter數(shù)據(jù)庫緩存自動(dòng)過期的處理,需要的朋友可以參考下
    2014-06-06
  • Yii視圖CGridView實(shí)現(xiàn)操作按鈕定義地址示例

    Yii視圖CGridView實(shí)現(xiàn)操作按鈕定義地址示例

    這篇文章主要介紹了Yii視圖CGridView實(shí)現(xiàn)操作按鈕定義地址的方法,涉及Yii視圖按鈕操作相關(guān)技巧,需要的朋友可以參考下
    2016-07-07

最新評論