国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

ACb0y / 876人閱讀

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

Laravel被稱為“全棧”式框架,因?yàn)樗軌蛱幚韽木W(wǎng)絡(luò)服務(wù)到數(shù)據(jù)庫(kù)管理、HTML生成的一切事情,垂直集成的web開發(fā)環(huán)境給開發(fā)者提供了更好的體驗(yàn)。

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

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

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

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

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

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

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

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

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

vender

app目錄

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


我們通過上面的表格可以看到,只要花一些心思在建立和命名的文件上,就能得到一個(gè)具有良好文件系統(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則只是一個(gè)瀏覽器中的頁(yè)面。MVC設(shè)計(jì)模式在Web的開發(fā)領(lǐng)域中非常受歡迎。

MVC模式的三個(gè)要素:

模型(model)

視圖(view)

控制器(controller)

Laravel的響應(yīng)流程

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

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

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

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

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

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

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

Laravel通過將數(shù)據(jù)庫(kù)中的表行轉(zhuǎn)成能被輕松操縱的PHP對(duì)象,來連接應(yīng)用程序的數(shù)據(jù)模型和數(shù)據(jù)庫(kù)表。它還使您能夠執(zhí)行業(yè)務(wù)規(guī)則,描述在應(yīng)用程序中不同的數(shù)據(jù)模型之間的關(guān)系等。例如,一個(gè)人的家庭關(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/20904.html

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    TIGERB 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<