摘要:開發(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)用。
讓我們更深一步了解如何建立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
摘要:小紅要以最低成本最快速度推出版本,投放市場,收集反饋,持續(xù)迭代。總結(jié)在技能掌握充足的情況下,個人感覺開發(fā)效率要略高于。 我個人是比較不喜歡去正兒八經(jīng)的比較兩個框架的,這樣沒有意義,不過欲善其事先利其器! 技術(shù)是相通的,但是在某個特定的領(lǐng)域的某個階段肯定有相對最適合的一個工具! 這里比較不是從技術(shù)角度比較,而是從公司技術(shù)選型考慮的,特別是初創(chuàng)的互聯(lián)網(wǎng)創(chuàng)業(yè)公司。沒辦法,誰讓互聯(lián)網(wǎng)公司離不開...
摘要:小紅要以最低成本最快速度推出版本,投放市場,收集反饋,持續(xù)迭代。總結(jié)在技能掌握充足的情況下,個人感覺開發(fā)效率要略高于。 我個人是比較不喜歡去正兒八經(jīng)的比較兩個框架的,這樣沒有意義,不過欲善其事先利其器! 技術(shù)是相通的,但是在某個特定的領(lǐng)域的某個階段肯定有相對最適合的一個工具! 這里比較不是從技術(shù)角度比較,而是從公司技術(shù)選型考慮的,特別是初創(chuàng)的互聯(lián)網(wǎng)創(chuàng)業(yè)公司。沒辦法,誰讓互聯(lián)網(wǎng)公司離不開...
摘要:打開瀏覽器輸入,如無意外,將出現(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)境...
摘要:過去一年時間寫了多篇文章來探討了我認為的框架最核心部分的設(shè)計思路代碼實現(xiàn)。為了大家閱讀方便,我把這些源碼學(xué)習(xí)的文章匯總到這里。數(shù)據(jù)庫算法和數(shù)據(jù)結(jié)構(gòu)這些都是編程的內(nèi)功,只有內(nèi)功深厚了才能解決遇到的復(fù)雜問題。 過去一年時間寫了20多篇文章來探討了我認為的Larave框架最核心部分的設(shè)計思路、代碼實現(xiàn)。通過更新文章自己在軟件設(shè)計、文字表達方面都有所提高,在剛開始決定寫Laravel源碼分析地...
摘要:框架關(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)也是基本...
閱讀 918·2021-11-22 13:53
閱讀 2543·2021-10-15 09:40
閱讀 1012·2021-10-14 09:42
閱讀 3588·2021-09-22 15:59
閱讀 901·2021-09-02 09:47
閱讀 2407·2019-08-30 15:54
閱讀 1447·2019-08-29 17:14
閱讀 412·2019-08-29 15:15