亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Laravel 4 初級教程之安裝及入門

 更新時間:2014年10月30日 14:50:30   投稿:hebedich  
本文不推薦完全不懂PHP與MVC編程的人學(xué)習(xí)。本文不是 “一步一步跟我做” 教程。本文需要你付出一定的心智去解決一些或大或小的隱藏任務(wù),以達(dá)到真正理解 Laravel 運行邏輯的目的。

0. 默認(rèn)條件

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

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

1. 安裝

許多人被攔在了學(xué)習(xí)Laravel的第一步,安裝。并不是因為安裝教程有多復(fù)雜,而是因為【眾所周知的原因】。在此我推薦一個composer全量中國鏡像:http://pkg.phpcomposer.com/。推薦“修改 composer 的配置文件”方式配置。我在寫此教程時用此鏡像測試,安裝失敗,若你也出現(xiàn)這種情況,可以嘗試另一個composer中國鏡像:http://composer-proxy.com/。

鏡像配置完成后,切換到你想要放置該網(wǎng)站的目錄下,運行命令:

復(fù)制代碼 代碼如下:

composer create-project laravel/laravel learnlaravel

然后,稍等片刻,當(dāng)前目錄下就會出現(xiàn)一個叫 learnlaravel 的文件夾,這時候如果你通過瀏覽器訪問 learnlaravel/public/ 目錄,基本都會顯示 Error in exception handler.  ,這是因為 learnlaravel/app/storage 目錄沒有777權(quán)限,設(shè)置好權(quán)限即可看見頁面如下圖:

恭喜你~Laravel安裝成功!

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

2. 必要插件安裝及配置

我們使用著名的Sentry插件來構(gòu)建登錄等權(quán)限驗證系統(tǒng)。

打開 ./composer.json ,變更為:

復(fù)制代碼 代碼如下:

"require": {
 "laravel/framework": "4.2.*",
 "cartalyst/sentry": "2.1.4"
},

然后,在項目根目錄下運行命令

復(fù)制代碼 代碼如下:

composer update

然后稍等一會兒,它會提示 cartalyst/sentry 2.1.4安裝完成。

同理,我們將安裝一個開發(fā)用的非常強大的插件,way/generators,這是它在composer庫中的名字。在 composer.json中增加:

復(fù)制代碼 代碼如下:

"require-dev": {
    "way/generators": "~2.0"
},

放在“require”的下面。

運行 composer update,之后在 ./app/config/app.php 中增加配置:

復(fù)制代碼 代碼如下:

'Way\Generators\GeneratorsServiceProvider'

安裝完成過,在命令行中運行 php artisan,就可以看到這個插件帶來的許多新的功能。

有人會問,為什么用了國內(nèi)鏡像還是如此之慢?其實composer在update的時候最慢的地方并不是下載,而是下載之前的依賴關(guān)系解析,由于Laravel依賴的composer包非常之多,PHP腳本的執(zhí)行速度又比較慢,所以每次update等個兩三分鐘很正常,習(xí)慣就好。

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

數(shù)據(jù)庫配置文件位于 ./app/config/database.php,我們需要把“connections”中的“mysql”項改成我們需要的配置。下面是我的配置:

復(fù)制代碼 代碼如下:

'mysql' => array(
 'driver'    => 'mysql',
 'host'      => 'localhost',
 'database'  => 'laravel',
 'username'  => 'root',
 'password'  => 'password',
 'charset'   => 'utf8',
 'collation' => 'utf8_unicode_ci',
 'prefix'    => 'l4_',
),

 prefix為表前綴,這個Laravel會幫我們自動維護(hù),大膽寫上不用擔(dān)心。

這時候你需要去數(shù)據(jù)庫建立此數(shù)據(jù)庫,然后在命令行中輸入:

復(fù)制代碼 代碼如下:

php artisan migrate --package=cartalyst/sentry

執(zhí)行完成后,你的數(shù)據(jù)庫里就有了5張表,這是sentry自己建立的。sentry在Laravel4下的配置詳情見 https://cartalyst.com/manual/sentry#laravel-4,我大致說一下:

在 ./app/config/app.php 中 相應(yīng)的位置 分別增加以下兩行:

復(fù)制代碼 代碼如下:

'Cartalyst\Sentry\SentryServiceProvider',
'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry',

權(quán)限系統(tǒng)的數(shù)據(jù)庫配置到此為止。

我們的簡單blog系統(tǒng)將會有兩種元素,Article和Page,下面我們將創(chuàng)建articles和pages數(shù)據(jù)表,命令行運行:

復(fù)制代碼 代碼如下:

php artisan migrate:make create_articles_table --create=articles
php artisan migrate:make create_pages_table --create=pages

這時候,去到 ./app/database/migrations,將會看到多出了兩個文件,這就是數(shù)據(jù)庫遷移文件,過一會我們將操作artisan將這兩個文件描述的兩張表變成數(shù)據(jù)庫中真實的兩張表,放心,一切都是自動的。

下面,在***_create_articles_table.php中修改:

復(fù)制代碼 代碼如下:

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中修改:

復(fù)制代碼 代碼如下:

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();
});

下面,就是見證奇跡的時刻,在命令行中運行:

復(fù)制代碼 代碼如下:

php artisan migrate

這時候數(shù)據(jù)庫中的articles表和pages表就建立完成了。

4. 模型 Models

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

我們在命令行運行下列語句以創(chuàng)建兩個model:

復(fù)制代碼 代碼如下:

php artisan generate:model article
php artisan generate:model page

這時候,在 ./app/models/ 下就出現(xiàn)了兩個model文件。這兩個類繼承了Laravel提供的核心類 \Eloquent。

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

分別運行下列命令:

復(fù)制代碼 代碼如下:

php artisan generate:seed page
php artisan generate:seed article

這時,在 ./app/database/seeds/ 下就出現(xiàn)了兩個新的文件,這就是我們的數(shù)據(jù)庫填充文件。Laravel提供自動數(shù)據(jù)庫填充,十分方便。

generator默認(rèn)使用Faker\Factory作為隨機數(shù)據(jù)生成器,所以我們需要安裝這個composer包,地址是 https://packagist.org/packages/fzaninotto/faker ,跟generator一起安裝在 require-dev 中即可。具體安裝請自行完成,可以參考Sentry和Generator,這是第一次練習(xí)。

接下來,分別更改這兩個文件:

復(fù)制代碼 代碼如下:

Article::create([
  'title'   => $faker->sentence($nbWords = 6),
  'slug'    => 'first-post',
  'body'    => $faker->paragraph($nbSentences = 5),
  'user_id' => 1,
]);
Page::create([
  'title'   => $faker->sentence($nbWords = 6),
  'slug'    => 'first-page',
  'body'    => $faker->paragraph($nbSentences = 5),
  'user_id' => 1,
]);

然后,我們需要在 DatabaseSeeder.php 中增加兩行,讓Laravel在seed的時候會帶上我們新增的這兩個seed文件。

復(fù)制代碼 代碼如下:

$this->call('ArticleTableSeeder');
$this->call('PageTableSeeder');

下面就要真正的把數(shù)據(jù)填充進(jìn)數(shù)據(jù)庫了:

復(fù)制代碼 代碼如下:

php artisan db:seed

操作完成以后去數(shù)據(jù)庫看看,數(shù)據(jù)已經(jīng)填充進(jìn)去了,article和page各10行。

相關(guān)文章

  • PHP寫楊輝三角實例代碼

    PHP寫楊輝三角實例代碼

    PHP寫楊輝三角實例代碼,學(xué)習(xí)php算法的朋友可以參考下。
    2011-07-07
  • php解壓文件代碼實現(xiàn)php在線解壓

    php解壓文件代碼實現(xiàn)php在線解壓

    這篇文章主要介紹了php解壓文件代碼,根據(jù)這個代碼可以實現(xiàn)php在線解壓功能,需要的朋友可以參考下
    2014-02-02
  • PHP實現(xiàn)微信提現(xiàn)(企業(yè)付款到零錢)

    PHP實現(xiàn)微信提現(xiàn)(企業(yè)付款到零錢)

    這篇文章主要為大家詳細(xì)介紹了PHP實現(xiàn)微信提現(xiàn),企業(yè)付款到零錢,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • php實現(xiàn)購物車產(chǎn)品刪除功能(2)

    php實現(xiàn)購物車產(chǎn)品刪除功能(2)

    這篇文章主要為大家詳細(xì)介紹了php實現(xiàn)購物車產(chǎn)品刪除功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • thinkphp模板賦值與替換實例簡述

    thinkphp模板賦值與替換實例簡述

    這篇文章主要介紹了thinkphp模板賦值與替換的方法,以實例形式簡述了模板復(fù)制的兩種簡單方法,以及模板替換中的特殊字符串說明與用法實例,是使用頻率比較高的技巧,需要的朋友可以參考下
    2014-11-11
  • php命令行使用方法和命令行參數(shù)說明

    php命令行使用方法和命令行參數(shù)說明

    這篇文章主要介紹了php命令行使用方法和命令行參數(shù)說明,需要的朋友可以參考下
    2014-04-04
  • Yii框架Session與Cookie使用方法示例

    Yii框架Session與Cookie使用方法示例

    這篇文章主要介紹了Yii框架Session與Cookie使用方法,結(jié)合實例形式分析了Yii框架針對Session與Cookie的設(shè)置、獲取、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • PHP實現(xiàn)文件下載詳解

    PHP實現(xiàn)文件下載詳解

    本文從php實現(xiàn)下載的原理到具體的實現(xiàn)代碼,再到有可能出現(xiàn)的問題,以及使用其他方式實現(xiàn)的文件下載的代碼分享,都做了詳細(xì)說明,給有需要的小伙伴們參考下
    2014-11-11
  • php并發(fā)加鎖問題分析與設(shè)計代碼實例講解

    php并發(fā)加鎖問題分析與設(shè)計代碼實例講解

    這篇文章主要介紹了php并發(fā)加鎖問題分析與設(shè)計代碼實例講解,有感興趣的同學(xué)可以跟著研究學(xué)習(xí)下
    2021-02-02
  • PHP實現(xiàn)簡單網(wǎng)站訪客統(tǒng)計的方法實例

    PHP實現(xiàn)簡單網(wǎng)站訪客統(tǒng)計的方法實例

    這篇文章主要給大家介紹了關(guān)于PHP實現(xiàn)簡單網(wǎng)站訪客統(tǒng)計的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評論