Laravel框架關鍵技術解析(1)元件化開發與composer使用
1.3 手動構建Laravel框架
一步步搭建一個類似於Laravel的伺服器端程式框架,該框架包含伺服器端程式中的MVC(模型、檢視和控制)三個組成部分,可以實現伺服器端程式中的路由、控制器、資料庫操作及檢視模板等主要功能。構建過程分為專案初始化、路由元件新增、控制器模組新增、模型元件新增和檢視元件新增五個步驟。
專案初始化:起名為lara。
$ mkdir lara
$ vi composer.json
{
"require": {
}
}
$ composer update //會自動生成自動載入檔案
新增路由元件: https://packagist.org官網
{
"require": {
"illuminate/routing":"*",
"illuminate/events":"*"
}
}
$ composer update
首先新增兩個檔案,一個是路由檔案,另一個是伺服器端程式入口檔案。
$ mkdir app //主要儲存專案開發的檔案
$ mkdir app/Http //用於儲存處理HTTP請求的檔案
$ subl app/Http/routes.php //所要建立的路由檔案
$ mkdir public //用於存放專案的公共檔案
$ subl public/index.php //自動載入函式的新增、服務容器例項化與服務註冊、路由載入、請求例項化與路由分發、響應生成與傳送。
http://127.0.0.1:10000/
新增控制器模組:在實際專案中請求的處理往往比較複雜,如果將處理函式寫在路由檔案中會顯得混亂,也不容易管理,因此會將路由的處理部分單獨用控制器類來實現。其實,在新增路由元件時已經新增了基本控制類,即Illuminate/Routing/Controller類。
$ mkdir app/Http/Controllers
$ subl app/Http/Controllers/WelcomeController.php
新增模型元件:主要實現資料處理功能,使用“illuminate/database”元件來完成。提供了兩種運算元據庫的方式,一種是查詢構造器方式,另一種是Eloquent ORM方式。
完成以下五步工作,分別是建立資料庫、新增資料庫配置資訊、啟動Eloquent ORM模組、建立model類和通過model類運算元據庫。
$ subl app/Models/Student.php
新增檢視元件:使用"illuminate/view“,該元件可以將檢視以模板方式建立,在其他檢視中可以呼叫、繼承已經建立的模板,並通過模板語法使得檢視設計更加簡單、規範、高效。
檢視元件的使用需要完成以下四個工作:一是新增檢視模板檔案和編譯檔案的儲存路徑;二是對檢視進行相關配置和服務註冊;三是使用檢視檔案;四是建立檢視模板檔案。
1.4 Laravel安裝
https://laravel.com/
$ composer create-project laravel/laravel --prefer-dist //安裝一個全新的Laravel框架到當前資料夾下
$ chmod -R 777 storage
本地域名解析:
$ vim /etc/apache/apache2.conf來修改apache的配置檔案。
配置站點資訊:
$ vi /etc/apache2/sites-available/000-default.conf
1.5 PHP語法
在Laravel框架中使用大量的PHP新語法,包括名稱空間、匿名函式、反射機制、後期靜態繫結等,才使得Laravel框架顯得簡潔而易擴充套件。
名稱空間:namespace App\Http;
檔案包含:include和require關鍵字
匿名函式:也叫閉包函式,即一個沒有指定名稱的函式,經常用做回撥函式引數的值。
PHP中的特殊語法:魔術方法和魔術常量的主要目的是提供對PHP執行環境和過程的控制和檢測。
反射:主要用來動態地獲取系統中類、例項物件、方法等語言構件的資訊,通過發射API函式可以實現對這些語言構件資訊的動態獲取和動態操作等。
後期靜態繫結:用於在繼承範圍內引用靜態呼叫的類,即在類的繼承過程中,使用的類不再是當前類,而是呼叫的類。
1.6 HTTP基礎
參考HTTP 1.1協議
請求行
狀態行
首部欄位:通常由欄位名和欄位值構成,中間通過”:“分隔。
相關文章
- Laravel框架關鍵技術解析(2)Laravel框架初識Laravel框架
- 【Laravel】Laravel 框架關鍵技術解析·讀書筆記(二)Laravel框架筆記
- 推薦一本 Laravel 書籍<Laravel 框架關鍵技術解析>Laravel框架
- Laravel框架關鍵技術解析(3)redis資料庫,會話等Laravel框架Redis資料庫會話
- 《laravel 框架關鍵技術解析》學習筆記之裝飾者模式Laravel框架筆記模式
- Android遊戲開發案例與關鍵技術Android遊戲開發
- Laravel 中使用 Vue 元件化開發(配置)LaravelVue元件化
- laravel框架應用和composer擴充套件包開發Laravel框架套件
- 開發 Laravel 的 Composer 包Laravel
- Composer & Laravel 包本地開發Laravel
- java 相關技術與框架Java框架
- 開發美顏SDK的關鍵技術有哪些?
- 承載億級流量的開發框架,閒魚 Flutter 技術解析與實戰大公開框架Flutter
- Laravel Composer Package 開發簡明教程LaravelPackage
- 病毒的編制關鍵技術(1) (轉)
- 元件化開發與黑箱元件化
- 重磅首發 | 承載億級流量的開發框架,閒魚 Flutter 技術解析與實戰大公開框架Flutter
- 開發 Laravel 包併發布到 packagist(composer)Laravel
- QTP關鍵技術QT
- web開發框架技術有哪些?Web框架
- 基於 Laravel 的模組化開發框架 Notadd RC1 fix1 釋出Laravel框架
- XML與其相關技術(1) (轉)XML
- NFV關鍵技術:儲存虛擬化概述
- 改進DevSecOps框架的 5 大關鍵技術dev框架
- 新一代雲原生資料庫關鍵技術解析與最佳實踐資料庫
- Composer 使用技巧簡述 | 掘金技術徵文
- 聊聊測試開發中提升 level 一些關鍵技術
- 深度強化學習技術開發與應用強化學習
- Laravel PHP 框架網站重建技術分析LaravelPHP框架網站
- Defi/LP雲算力質押挖礦系統開發技術(元件解析)元件
- 數字孿生視覺化防汛系統:關鍵技術與應用視覺化
- 佛薩奇2.0合約系統技術開發/python技術開發框架Python框架
- IPP挖礦技術開發/Defi挖礦/IPPswap理財挖礦系統開發元件解析元件
- 視訊通訊系統的關鍵技術與挑戰
- 2017網路與安全技術關鍵詞
- PHP開發搜尋引擎技術全解析PHP
- 綜述 | 農業大模型:關鍵技術、應用分析與發展方向大模型
- J2EE開發常用開源框架技術框架