成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Laravel框架的體系結(jié)構(gòu)

ACb0y / 878人閱讀

摘要:開發(fā)人員可以通過命令行工具生成和管理項目環(huán)境。附帶了一個名為的優(yōu)秀的命令行工具它提供了一些開發(fā)過程中有用的命令用,可以用來生成框架代碼和數(shù)據(jù)庫管理。這就是的目錄結(jié)構(gòu)發(fā)揮作用的地方。

Laravel被稱為“全?!笔娇蚣?,因為它能夠處理從網(wǎng)絡(luò)服務(wù)到數(shù)據(jù)庫管理、HTML生成的一切事情,垂直集成的web開發(fā)環(huán)境給開發(fā)者提供了更好的體驗。

開發(fā)人員可以通過命令行工具,生成和管理Laravel項目環(huán)境。Laravel附帶了一個名為Artisan的優(yōu)秀的命令行工具,它提供了一些開發(fā)過程中有用的命令用,可以用來生成框架代碼和數(shù)據(jù)庫管理。它是基于強大的Symfony Console 組件開發(fā)的。

Laravel的目標是給開發(fā)者創(chuàng)造一個愉快的開發(fā)過程,并且不犧牲應(yīng)用的功能性。快樂的開發(fā)者才能創(chuàng)造最棒的代碼!為了這個目的,我們博取眾框架之長處集中到Laravel中,這些框架甚至是基于Ruby on Rails、ASP.NET MVC、和Sinatra等開發(fā)語言或工具的。

Laravel是易于理解并且強大的,它提供了強大的工具用以開發(fā)大型、健壯的應(yīng)用。杰出的IoC、數(shù)據(jù)庫遷移工具和緊密集成的單元測試支持,這些工具賦予你構(gòu)建任何應(yīng)用的能力。

目錄結(jié)構(gòu)

這是所有l(wèi)aravel項目具有基本上相同的目錄結(jié)構(gòu),其中的每個文件都具有指定的地方。通過對目錄結(jié)構(gòu)的約定,確保你是按照“l(fā)aravel方式”來工作。

正如你看到的,laravel項目下面有4個文件夾:app、bootstrap、public、vendor,這4個文件夾下面又有很多個子文件夾,當(dāng)你第一次看到這么豐富的文件夾內(nèi)容時,是不是覺得很有壓力?沒關(guān)系,我們會逐一的來了解不同的文件夾。

app 包含了站點的controllers(控制器),models(模型),views(視圖)和assets(資源)。這些是網(wǎng)站運行的主要代碼,你會將你大部分的時間花在這個目錄里。

bootstrap 用來存放系統(tǒng)啟動時需要的文件,這些文件會被如index.php這樣的文件調(diào)用。

public 這個文件夾是唯一外界可以看到的web服務(wù)器的目錄。它含有l(wèi)aravel框架核心的引導(dǎo)文件index.php,這個目錄也可用來存放任何可以公開的靜態(tài)資源,如css,Javascript,images等

vender

app目錄

正如上面提到的,所有l(wèi)aravel中有趣的事情都會產(chǎn)生在app目錄,讓我們多了解一些里面的內(nèi)容。


我們通過上面的表格可以看到,只要花一些心思在建立和命名的文件上,就能得到一個具有良好文件系統(tǒng)的結(jié)構(gòu)化的應(yīng)用。

模型-視圖-控制器(MVC)

讓我們更深一步了解如何建立laravel應(yīng)用。你可能已經(jīng)注意到,app目錄下面有三子目錄:models,views,controllers。這是表明了laravel是model-view-controller(MVC)架構(gòu)模式,它將“業(yè)務(wù)邏輯”與圖形用戶界面相關(guān)的輸入和顯示邏輯(GUI)分離。在laravel Web應(yīng)用中,業(yè)務(wù)邏輯通常由數(shù)據(jù)模型(如用戶,博客文章)組成,GUI則只是一個瀏覽器中的頁面。MVC設(shè)計模式在Web的開發(fā)領(lǐng)域中非常受歡迎。

MVC模式的三個要素:

模型(model)

視圖(view)

控制器(controller)

Laravel的響應(yīng)流程

一個典型的laravel應(yīng)用程序由上面提到的MVC組成

當(dāng)訪問一個laravel應(yīng)用程序時,瀏覽器發(fā)送一個請求,由Web服務(wù)器接收并傳遞到laravel的路由引擎。該laravel路由器接收到請求后,根據(jù)配置重定向到相應(yīng)的控制器類的方法。

然后由控制器類接管。在某些情況下,控制器將立即渲染一個視圖,這是一個模板,將被轉(zhuǎn)換成HTML并且發(fā)送回瀏覽器。更普遍的動態(tài)網(wǎng)站,控制器與模型進行交互,與數(shù)據(jù)庫進行通信。調(diào)用模型后,控制器呈現(xiàn)最終視圖(HTML、CSS和圖像)并返回完整的web頁面到用戶的瀏覽器。

Laravel提倡模型、視圖和控制器,應(yīng)保持完全獨立的存儲多帶帶的文件在不同的目錄。這就是laravel的目錄結(jié)構(gòu)發(fā)揮作用的地方。

像MVC這樣的設(shè)計模式的產(chǎn)生,就是為了讓開發(fā)者的工作更加輕松。這就是Laravel比那些不用任何模式的PHP厲害的地方。如果這種討論你現(xiàn)在感覺很抽象,不用擔(dān)心!當(dāng)你開始用Laravel工作,你都不會意識到你是在一種設(shè)計模式中工作。過一段時間后,就會變得自然了。

數(shù)據(jù)模型

數(shù)據(jù)模型是任何應(yīng)用程序的基礎(chǔ),它建立了應(yīng)用程序的業(yè)務(wù)邏輯。每一塊數(shù)據(jù)通過使用一個數(shù)據(jù)庫表表示。laravel提供了一些技術(shù)來簡化對數(shù)據(jù)庫的訪問。

Laravel通過將數(shù)據(jù)庫中的表行轉(zhuǎn)成能被輕松操縱的PHP對象,來連接應(yīng)用程序的數(shù)據(jù)模型和數(shù)據(jù)庫表。它還使您能夠執(zhí)行業(yè)務(wù)規(guī)則,描述在應(yīng)用程序中不同的數(shù)據(jù)模型之間的關(guān)系等。例如,一個人的家庭關(guān)系可以用Laravel Eloquent OR / M描述如下:

class Person extends Eloquent
{
    public function mother()
    {
        return $this->belongsTo("Mother");
    }
    public function father()
    {
        return $this->belongsTo("Father");
    }
    public function spouse()
    {
        return $this->hasOne("Spouse");
    }
    public function sisters()
    {
        return $this->hasMany("Sister");
    }
    public function brothers()
    {
        return $this->hasMany("Brother");
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/20904.html

相關(guān)文章

  • Laravel 和 Spring Boot 兩個框架比較創(chuàng)業(yè)篇(一:開發(fā)效率)

    摘要:小紅要以最低成本最快速度推出版本,投放市場,收集反饋,持續(xù)迭代。總結(jié)在技能掌握充足的情況下,個人感覺開發(fā)效率要略高于。 我個人是比較不喜歡去正兒八經(jīng)的比較兩個框架的,這樣沒有意義,不過欲善其事先利其器! 技術(shù)是相通的,但是在某個特定的領(lǐng)域的某個階段肯定有相對最適合的一個工具! 這里比較不是從技術(shù)角度比較,而是從公司技術(shù)選型考慮的,特別是初創(chuàng)的互聯(lián)網(wǎng)創(chuàng)業(yè)公司。沒辦法,誰讓互聯(lián)網(wǎng)公司離不開...

    tinna 評論0 收藏0
  • Laravel 和 Spring Boot 兩個框架比較創(chuàng)業(yè)篇(一:開發(fā)效率)

    摘要:小紅要以最低成本最快速度推出版本,投放市場,收集反饋,持續(xù)迭代。總結(jié)在技能掌握充足的情況下,個人感覺開發(fā)效率要略高于。 我個人是比較不喜歡去正兒八經(jīng)的比較兩個框架的,這樣沒有意義,不過欲善其事先利其器! 技術(shù)是相通的,但是在某個特定的領(lǐng)域的某個階段肯定有相對最適合的一個工具! 這里比較不是從技術(shù)角度比較,而是從公司技術(shù)選型考慮的,特別是初創(chuàng)的互聯(lián)網(wǎng)創(chuàng)業(yè)公司。沒辦法,誰讓互聯(lián)網(wǎng)公司離不開...

    zoomdong 評論0 收藏0
  • windows下laravel5.5手寫教程1(適合初學(xué)者)

    摘要:打開瀏覽器輸入,如無意外,將出現(xiàn)如下圖,表示框架安裝成功。四系統(tǒng)內(nèi)部后臺管理系統(tǒng)這個是框架自帶的后臺登錄管理系統(tǒng),只需要簡單的命令即可運行。出現(xiàn)上圖即為,創(chuàng)建模型成功。 在PHP個各種web開發(fā)框架中,laravel算是一款簡潔、優(yōu)雅的開發(fā)框架,本人也剛剛接觸到laravel,通過學(xué)習(xí)大神們的一些文章,下面是我的一些心得體會,希望可以給初學(xué)者一些幫助,大家一起進步。言歸正傳: 本人環(huán)境...

    GeekGhc 評論0 收藏0
  • Laravel核心解讀--完結(jié)篇

    摘要:過去一年時間寫了多篇文章來探討了我認為的框架最核心部分的設(shè)計思路代碼實現(xiàn)。為了大家閱讀方便,我把這些源碼學(xué)習(xí)的文章匯總到這里。數(shù)據(jù)庫算法和數(shù)據(jù)結(jié)構(gòu)這些都是編程的內(nèi)功,只有內(nèi)功深厚了才能解決遇到的復(fù)雜問題。 過去一年時間寫了20多篇文章來探討了我認為的Larave框架最核心部分的設(shè)計思路、代碼實現(xiàn)。通過更新文章自己在軟件設(shè)計、文字表達方面都有所提高,在剛開始決定寫Laravel源碼分析地...

    laoLiueizo 評論0 收藏0
  • LaravelLaravel 框架關(guān)鍵技術(shù)解析·讀書筆記(二)

    摘要:框架關(guān)鍵技術(shù)解析讀書筆記二第五章框架應(yīng)用程序根目錄版本默認的框架應(yīng)用程序是符合規(guī)范的,所以相應(yīng)的目錄結(jié)構(gòu)也是基本固定的,不同的目錄加載了功能文件,如果添加了新的目錄,需要在文件中添加規(guī)范的自動加載部分并執(zhí)行命令。 Laravel 框架關(guān)鍵技術(shù)解析·讀書筆記(二) 第五章 框架應(yīng)用程序根目錄(5.1版本) 默認的Laravel框架應(yīng)用程序是符合PSR規(guī)范的,所以相應(yīng)的目錄結(jié)構(gòu)也是基本...

    TIGERB 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<