composer安裝laravel并配置

安裝 Laravel:

Laravel 使用 [Composer] 來(lái)管理代碼依賴胆敞。所以着帽,在使用 Laravel 之前,請(qǐng)先確認(rèn)你的電腦上安裝了 Composer移层。

方法一:通過(guò)laravel安裝器安裝:

在cmd執(zhí)行 composer global require "laravel/installer"

請(qǐng)確定你已將 ~/.composer/vendor/bin 路徑加到 PATH仍翰,只有這樣系統(tǒng)才能找到 laravel 的執(zhí)行文件。

一旦安裝完成观话,就可以使用 laravel new 命令在指定目錄創(chuàng)建一個(gè)新的 Laravel 項(xiàng)目予借,例如:laravel new blog 將會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)叫 blog 的目錄,此目錄里面存放著新安裝的 Laravel 和代碼依賴频蛔。這個(gè)方法的安裝速度比通過(guò) Composer 安裝要快上許多

方法二:通過(guò)composer的laravel:

在要安裝的根目錄下執(zhí)行composer create-project --prefer-dist laravel/laravel blog "5.2.*" //本次是安裝5.2

———————————————————————————————————————

配置:

1.首先

確認(rèn)服務(wù)器訪問(wèn)項(xiàng)目是否映射到public目錄,其次確認(rèn).env加密串文件有無(wú)生成,相關(guān)的目錄權(quán)限是不是完全控制或775
app/config/app.php 文件中的 debug 選項(xiàng)設(shè)置為 true (注:開(kāi)啟開(kāi)發(fā)模式灵迫,更友好的開(kāi)發(fā)提示);
可以使用config('app.timezone');來(lái)獲取config目錄下任意配置文件配置項(xiàng)的值
并且可以使用config(['app.timezone' => 'America/Chicago']);來(lái)在運(yùn)行時(shí)更改

2.了解目錄結(jié)構(gòu):

文件/文件夾
作用

  • app/
    包含了站點(diǎn)的 controllers(控制器)晦溪,models(模型)瀑粥,views(視圖)和 assets(資源)。這些是網(wǎng)站運(yùn)行的主要代碼三圆,你會(huì)將你大部分的時(shí)間花在這些上面利凑。本文主要關(guān)注的是這個(gè)文件夾。
  • bootstrap
    用來(lái)存放系統(tǒng)啟動(dòng)時(shí)需要的文件嫌术,這些文件會(huì)被如 index.php 這樣的文件調(diào)用。
  • public
    這個(gè)文件夾是唯一外界可以看到的牌借,是必須指向你 web 服務(wù)器的目錄度气。它含有 laravel 框架核心的引導(dǎo)文件 index.php,這個(gè)目錄也可用來(lái)存放任何可以公開(kāi)的靜態(tài)資源膨报,如 css磷籍,Javascript,images 等现柠。
  • vendor
    用來(lái)存放所有的第三方代碼院领,在一個(gè)典型的 Laravel 應(yīng)用程序,這包括 Laravel 源代碼及其相關(guān)够吩,并含有額外的預(yù)包裝功能的插件比然。
  • app/config/
    配置應(yīng)用程序的運(yùn)行時(shí)規(guī)則、 數(shù)據(jù)庫(kù)周循、 session等等强法。包含大量的用來(lái)更改框架的各個(gè)方面的配置文件万俗。大部分的配置文件中返回的選項(xiàng)關(guān)聯(lián)PHP數(shù)組。
  • app/config/app.php
    各種應(yīng)用程序級(jí)設(shè)置饮怯,即時(shí)區(qū)闰歪、 區(qū)域設(shè)置(語(yǔ)言環(huán)境)、 調(diào)試模式和獨(dú)特的加密密鑰蓖墅。
  • app/config/auth.php
    控制在應(yīng)用程序中如何進(jìn)行身份驗(yàn)證库倘,即身份驗(yàn)證驅(qū)動(dòng)程序。
  • app/config/cache.php
    如果應(yīng)用程序利用緩存來(lái)加快響應(yīng)時(shí)間论矾,要在此配置該功能教翩。
  • app/config/compile.php
    在此處可以指定一些額外類,去包含由‘a(chǎn)rtisan optimize’命令聲稱的編譯文件拇囊。這些應(yīng)該是被包括在基本上每個(gè)請(qǐng)求到應(yīng)用程序中的類迂曲。
  • app/config/database.php
    包含數(shù)據(jù)庫(kù)的相關(guān)配置信息,即默認(rèn)數(shù)據(jù)庫(kù)引擎和連接信息寥袭。
  • app/config/mail.php
    為電子郵件發(fā)件引擎的配置文件路捧,即 SMTP 服務(wù)器,F(xiàn)rom:標(biāo)頭
  • app/config/session.php
    控制Laravel怎樣管理用戶sessions,即session driver, session lifetime传黄。
  • app/config/view.php
    模板系統(tǒng)的雜項(xiàng)配置杰扫。
  • app/controllers
    包含用于提供基本的邏輯、 數(shù)據(jù)模型交互以及加載應(yīng)用程序的視圖文件的控制器類膘掰。
  • app/database/migrations/
    包含一些 PHP 類章姓,允許 Laravel更新當(dāng)前數(shù)據(jù)庫(kù)的架構(gòu)并同時(shí)保持所有版本的數(shù)據(jù)庫(kù)的同步。遷移文件是使用Artisan工具生成的识埋。
  • app/database/seeds/
    包含允許Artisan工具用關(guān)系數(shù)據(jù)來(lái)填充數(shù)據(jù)庫(kù)表的 PHP 文件凡伊。
  • app/lang/
    PHP 文件,其中包含使應(yīng)用程序易于本地化的字符串的數(shù)組窒舟。默認(rèn)情況下目錄包含英語(yǔ)語(yǔ)言的分頁(yè)和表單驗(yàn)證的語(yǔ)言行系忙。
  • app/models/
    模型是代表應(yīng)用程序的信息(數(shù)據(jù))和操作數(shù)據(jù)的規(guī)則的一些類。在大多數(shù)情況下惠豺,數(shù)據(jù)庫(kù)中的每個(gè)表將對(duì)應(yīng)應(yīng)用中的一個(gè)模型银还。應(yīng)用程序業(yè)務(wù)邏輯的大部分將集中在模型中。
  • app/start/
    包含與Artisan工具以及全球和本地上下文相關(guān)的自定義設(shè)置洁墙。
  • app/storage/
    該目錄存儲(chǔ)Laravel各種服務(wù)的臨時(shí)文件蛹疯,如session, cache, compiled view templates。這個(gè)目錄在web服務(wù)器上必須是可以寫入的热监。該目錄由Laravel維護(hù)捺弦,我們可以不關(guān)心。
  • app/tests/
    該文件夾給你提供了一個(gè)方便的位置,用來(lái)做單元測(cè)試羹呵。如果你使用PHPUnit骂际,你可以使用Artisan工具一次執(zhí)行所有的測(cè)試。
  • app/views/
    該文件夾包含了控制器或者路由使用的HTML模版冈欢。請(qǐng)注意歉铝,這個(gè)文件夾下你只能放置模版文件。其他的靜態(tài)資源文件如css, javascript和images文件應(yīng)該放在/public文件夾下凑耻。
  • app/routes.php
    這是您的應(yīng)用程序的路由文件太示,其中包含路由規(guī)則,告訴 Laravel 如何將傳入的請(qǐng)求連接到路由處理的閉包函數(shù)香浩、 控制器和操作类缤。該文件還包含幾個(gè)事件聲明,包括錯(cuò)誤頁(yè)的邻吭,可以用于定義視圖的composers餐弱。
  • app/filters.php
    此文件包含各種應(yīng)用程序和路由篩選方法,用來(lái)改變您的應(yīng)用程序的結(jié)果囱晴。Laravel 具有訪問(wèn)控制和 XSS 保護(hù)的一些預(yù)定義篩選器膏蚓。
3.設(shè)置環(huán)境變量:

應(yīng)用程序常常需要根據(jù)不同的運(yùn)行環(huán)境設(shè)置不同的值。只需通過(guò) .env 配置文件定義不同的環(huán)境變量值,即可控制環(huán)境,當(dāng)你的應(yīng)用程序收到請(qǐng)求時(shí)畸写,這個(gè)文件所有的變量都會(huì)被加載到 PHP 超級(jí)全局變量 $_ENV 里驮瞧。你可以使用輔助函數(shù) env 來(lái)獲取這些變量的值。

例如:

'debug' => env('APP_DEBUG', false),//第二個(gè)參數(shù)為獲取不到的返回值

應(yīng)用程序的當(dāng)前環(huán)境是由 .env 文件中的 APP_ENV 變量所決定的枯芬。你可以通過(guò) Appenvironment 方法來(lái)獲取該值:
作用去根據(jù)環(huán)境(local or production )加載不同的配置论笔、調(diào)試日志

$environment = App::environment();
4.配置路由到控制器

app/controllers定義控制器繼承Controllers編輯具體邏輯
在app/routes.php定義路由規(guī)則: 有3種寫法:

Route::get('/hello', 'TestController@hello');//控制器@方法
Route::get('/hello',['uses'=>'TestController@hello']);
Route::any('/hello',['uses'=>"TestController@hello']);//多種請(qǐng)求支持的路由
5.新增視圖(前后端分離時(shí)不適用)

在resources\views下新建控制器下文件夾包含blade.php文件并定義html頁(yè)面
在控制器使用view('文件名/視圖名')輸出視圖
并且模板文件可以帶變量并在視圖使用{${}}EL表達(dá)式輸出
Laravel 使用了 Blade 布局 來(lái)讓不同頁(yè)面共用這些相同的功能。
.blade.php 擴(kuò)展名會(huì)告知框架使用 [Blade 模板引擎] 渲染此視圖千所。當(dāng)然狂魔,你可以在 Laravel 使用純 PHP 的模版。不過(guò)淫痰,Blade 提供了更方便的方式來(lái)編寫干凈毅臊、簡(jiǎn)潔的模板。特殊的 Blade 命令可以在網(wǎng)頁(yè)中注入內(nèi)容黑界。

//Controller中
return view('Test/hello');
return view('Test/hello',['name'=>'BoB','age'=>18]);
6.新建模型

模型即在app下的php文件

use Illuminate\Database\Eloquent\Model;
class User extends Model
{
//指定數(shù)據(jù)表
protected Stable=‘student‘;
//指定id
protected $primaryKey=‘id‘皂林;
}
7.數(shù)據(jù)庫(kù)操作:

Laravel中提供了DB facade(原始查找)朗鸠,查找構(gòu)造器,Eloquent ORM三種操作方法

DB facade:
———————————————————————————————————————
通過(guò)DB::select DB::insert配合?占位符等運(yùn)行sql原生查詢
DB:transaction管理事務(wù)
DB::statement管理無(wú)返回的數(shù)據(jù)庫(kù)操作
使用多個(gè)數(shù)據(jù)庫(kù)連接的時(shí)候础倍,可以使用DB門面的connection方法訪問(wèn)每個(gè)連接,連接名與參數(shù)在config/database.php中定義

查詢構(gòu)建器
———————————————————————————————————————
數(shù)據(jù)庫(kù)查詢構(gòu)建器提供了一個(gè)方便的烛占、平滑的接口來(lái)創(chuàng)建和運(yùn)行數(shù)據(jù)庫(kù)查詢:
DB::table('表名')為給定表返回一個(gè)查詢構(gòu)建器,允許你在查詢上鏈接更多約束條件并最終返回查詢結(jié)果
具體的操作針對(duì)查詢構(gòu)建器:
first()獲取一行,get獲取符合條件的所有
比如使用where來(lái)限定條件
chunk方法處理結(jié)果集部分并設(shè)置閉包進(jìn)行操作
lists方法限定列,等等,更多花樣待探索, 但個(gè)人覺(jué)得, 比如chunk方法閉包處理, 在具體業(yè)務(wù)邏輯可能不太常用, 所以TP框架里沒(méi)有類似的方法, 但laravel有, 雖然用起來(lái)復(fù)雜了,但是這也是性能的體現(xiàn)。

Eloquent ORM (重點(diǎn)):
注意:由于Eloquent模型本質(zhì)上就是 查詢構(gòu)建器")忆家,你可以在Eloquent查詢中使用查詢構(gòu)建器的所有方法犹菇。
———————————————————————————————————————
Laravel所自帶的Eloqulent ORM是一個(gè)非常優(yōu)美簡(jiǎn)潔的ActiveRecord實(shí)現(xiàn),用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的操作他的每個(gè)數(shù)據(jù)的表都有對(duì)應(yīng)的模型(model)用于數(shù)據(jù)表的交互芽卿。
Eloquent模型約定(表名揭芍、主鍵、操作的記錄時(shí)間戳(可設(shè)置不要)):
use引入約定模型卸例,然后使用 模型名::即可調(diào)用構(gòu)建器所有方法称杨,與Eloqulent自己的實(shí)現(xiàn)方法
Eloqulent比較關(guān)鍵的作用域功能,通過(guò)在model中定義的scope前綴的作用域方法(可帶參)來(lái)實(shí)現(xiàn)對(duì)查詢結(jié)果的篩選與操作
Eloqulent軟刪除:Eloquent還可以對(duì)模型進(jìn)行“軟刪除”筷转。當(dāng)模型被軟刪除后姑原,它們并沒(méi)有真的從數(shù)據(jù)庫(kù)刪除,而是在模型上設(shè)置一個(gè)deleted_at屬性并插入數(shù)據(jù)庫(kù)呜舒,
要啟用模型的軟刪除功能锭汛,可以使用模型上的Illuminate\Database\Eloquent\SoftDeletestrait并添加deleted_at列到$dates屬性:
啟用后,當(dāng)調(diào)用模型的delete方法時(shí)袭蝗,deleted_at列將被設(shè)置為當(dāng)前日期和時(shí)間唤殴,并且,當(dāng)查詢一個(gè)使用軟刪除的模型時(shí)呻袭,被軟刪除的模型將會(huì)自動(dòng)從查詢結(jié)果中排除眨八。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市左电,隨后出現(xiàn)的幾起案子廉侧,更是在濱河造成了極大的恐慌,老刑警劉巖篓足,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件段誊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡栈拖,警方通過(guò)查閱死者的電腦和手機(jī)连舍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涩哟,“玉大人索赏,你說(shuō)我怎么就攤上這事√耍” “怎么了潜腻?”我有些...
    開(kāi)封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)器仗。 經(jīng)常有香客問(wèn)我融涣,道長(zhǎng)童番,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任威鹿,我火速辦了婚禮剃斧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘忽你。我一直安慰自己幼东,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布檀夹。 她就那樣靜靜地躺著筋粗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炸渡。 梳的紋絲不亂的頭發(fā)上娜亿,一...
    開(kāi)封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音蚌堵,去河邊找鬼买决。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吼畏,可吹牛的內(nèi)容都是我干的督赤。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼泻蚊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼躲舌!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起性雄,我...
    開(kāi)封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤没卸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后秒旋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體约计,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年迁筛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了煤蚌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡细卧,死狀恐怖尉桩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贪庙,我是刑警寧澤魄健,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站插勤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜农尖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一析恋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盛卡,春花似錦助隧、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至滓技,卻和暖如春哩牍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背令漂。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工膝昆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叠必。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓荚孵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親纬朝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子收叶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Laravel框架一:原理機(jī)制篇 Laravel作為在國(guó)內(nèi)國(guó)外都頗為流行的PHP框架,風(fēng)格優(yōu)雅共苛,其擁有自己的一些特...
    Mr_Z_Heng閱讀 3,668評(píng)論 0 13
  • Eloquent: 起步 簡(jiǎn)介 Laravel 的 Eloquent ORM 提供了一種漂亮簡(jiǎn)潔的關(guān)系映射的模型來(lái)...
    Dearmadman閱讀 11,908評(píng)論 3 16
  • 一判没、框架概述 課程概述 laravel 4天(之前TP框架還是很大的區(qū)別)(國(guó)外框架) 在線教育平臺(tái) 6天(lar...
    大大的世界小小的夢(mèng)想_97ef閱讀 1,349評(píng)論 0 2
  • 簡(jiǎn)介 laravel 使實(shí)施認(rèn)證的變得非常簡(jiǎn)單,事實(shí)上俄讹,它提供了非常全面的配置項(xiàng)以適應(yīng)應(yīng)用的業(yè)務(wù)哆致。認(rèn)證的配置文件存...
    Dearmadman閱讀 6,120評(píng)論 2 13
  • 4.25日,我有幸參加了“青島市第一批基于語(yǔ)文核心素養(yǎng)的創(chuàng)意寫作教學(xué)‘種子教師’培訓(xùn)會(huì)”患膛。培訓(xùn)會(huì)上摊阀,浙江金華榮光國(guó)...
    東方來(lái)彥閱讀 439評(píng)論 0 1