這篇文章主要講解了“如何安裝及使用Laravel 5框架”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何安裝及使用Laravel 5框架”吧!
公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出吉首免費(fèi)做網(wǎng)站回饋大家。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ǔ)的包含登錄的簡(jiǎn)單 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全量中國(guó)鏡像: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。
使用瀏覽器訪(fǎng)問(wèn)你配置的地址,將看到以下畫(huà)面(我在本地配置的地址為 http://fuck.io:88 ):
2. 體驗(yàn) Auth 系統(tǒng)并完成安裝
—— 經(jīng)過(guò)上面的過(guò)程,Laravel 5 的安裝成功了?
—— 沒(méi)有o(╯□╰)o
查看路由文件 `learnlaravel5/app/Http/routes.php` 的代碼:
Route::get('/', 'WelcomeController@index'); Route::get('home', 'HomeController@index'); Route::controllers([ 'auth' => 'Auth\AuthController', 'password' => 'Auth\PasswordController', ]);
跟隨代碼里的蛛絲馬跡,讓我們?cè)L問(wèn) http://fuck.io:88/home (請(qǐng)自行替換域名),結(jié)果竟然跳轉(zhuǎn)到了登陸頁(yè)?
沒(méi)錯(cuò),Laravel 自帶了開(kāi)箱即用的 Auth 系統(tǒng),連頁(yè)面都已經(jīng)寫(xiě)好了。
讓我們隨意輸入郵箱和密碼,點(diǎn)擊登錄,你很可能得到以下畫(huà)面(Mac 或 Linux 下):
為什么空白?用開(kāi)發(fā)者工具查看,這個(gè)請(qǐng)求的狀態(tài)碼是 500,為什么?
因?yàn)?`learnlaravel5/storage` 目錄沒(méi)有 777 權(quán)限。
執(zhí)行 shell 命令:
cd learnlaravel5 sudo chmod -R 777 storage
重新訪(fǎng)問(wèn) http://fuck.io:88/home ,隨意輸入郵箱和密碼,如果你得到以下畫(huà)面:
那么恭喜你~ Laravel 5 安裝成功!
不想配置鏡像的同學(xué),可以使用 Laravel 界非常著名的 安正超 搞的安裝神器:https://github.com/overtrue/latest-laravel
3. 數(shù)據(jù)庫(kù)建立及遷移
Laravel 5 把數(shù)據(jù)庫(kù)配置的地方改到了 `learnlaravel5/.env`,打開(kāi)這個(gè)文件,編輯下面四項(xiàng),修改為正確的信息:
DB_HOST=localhost DB_DATABASE=laravel5 DB_USERNAME=root DB_PASSWORD=password
推薦新建一個(gè)名為 laravel5 的數(shù)據(jù)庫(kù),為了學(xué)習(xí)方便,推薦使用 root 賬戶(hù)直接操作。
Laravel 已經(jīng)為我們準(zhǔn)備好了 Auth 部分的 migration,運(yùn)行以下命令執(zhí)行數(shù)據(jù)庫(kù)遷移操作:
php artisan migrate
得到的結(jié)果如下:
如果你運(yùn)行命令報(bào)錯(cuò),請(qǐng)檢查數(shù)據(jù)庫(kù)連接設(shè)置。
至此,數(shù)據(jù)庫(kù)遷移已完成,你可以打開(kāi) http://fuck.io:88/home 歡快地嘗試注冊(cè)、登錄啦。
4. 模型 Models
接下來(lái)我們將接觸Laravel最為強(qiáng)大的部分,Eloquent ORM,真正提高生產(chǎn)力的地方,借用庫(kù)克的一句話(huà):鵝妹子英!
運(yùn)行一下命令:
php artisan make:model Article php artisan make:model Page
> Laravel 4 時(shí)代,我們使用 Generator 插件來(lái)新建 Model。現(xiàn)在,Laravel 5 已經(jīng)把 Generator 集成進(jìn)了 Artisan。
現(xiàn)在,Artisan 幫我們?cè)?`learnlaravel5/app/` 下創(chuàng)建了兩個(gè)文件 `Article.php` 和 `Page.php`,這是兩個(gè) Model 類(lèi),他們都繼承了 Laravel Eloquent 提供的 Model 類(lèi) `Illuminate\Database\Eloquent\Model`,且都在 `\App` 命名空間下。這里需要強(qiáng)調(diào)一下,用命令行的方式創(chuàng)建文件,和自己手動(dòng)創(chuàng)建文件沒(méi)有任何區(qū)別,你也可以嘗試自己創(chuàng)建這兩個(gè) Model 類(lèi)。
Model 即為 MVC 中的 M,翻譯為 模型,負(fù)責(zé)跟數(shù)據(jù)庫(kù)交互。在 Eloquent 中,數(shù)據(jù)庫(kù)中每一張表對(duì)應(yīng)著一個(gè) Model 類(lèi)(當(dāng)然也可以對(duì)應(yīng)多個(gè))。
如果你從其他框架轉(zhuǎn)過(guò)來(lái),可能對(duì)這里一筆帶過(guò)的 Model 部分很不適應(yīng),沒(méi)辦法,是因?yàn)?Eloquent 實(shí)在太強(qiáng)大了啦,真的沒(méi)什么好做的,繼承一下 Eloquent 類(lèi)就能實(shí)現(xiàn)很多很多功能了。
如果你想深入地了解 Eloquent,可以閱讀系列文章:Laravel 5框架學(xué)習(xí)之Eloquent 關(guān)系
接下來(lái)進(jìn)行 Article 和 Page 類(lèi)對(duì)應(yīng)的 articles 表和 pages表的數(shù)據(jù)庫(kù)遷移,進(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ù)庫(kù)里,去看看吧~
5. 數(shù)據(jù)庫(kù)填充 Seeder
在 `learnlaravel5/database/seeds/` 下新建 `PageTableSeeder.php` 文件,內(nèi)容如下:
delete(); for ($i=0; $i < 10; $i++) { Page::create([ 'title' => 'Title '.$i, 'slug' => 'first-page', 'body' => 'Body '.$i, 'user_id' => 1, ]); } } }
然后修改同一級(jí)目錄下的 `DatabaseSeeder.php`中:
// $this->call('UserTableSeeder');
這一句為
$this->call('PageTableSeeder');
然后運(yùn)行命令進(jìn)行數(shù)據(jù)填充:
composer dump-autoloadphp artisan db:seed
去看看 pages 表,是不是多了十行數(shù)據(jù)?
感謝各位的閱讀,以上就是“如何安裝及使用Laravel 5框架”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何安裝及使用Laravel 5框架這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!