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框架關鍵技術解析(3)redis資料庫,會話等Laravel框架Redis資料庫會話
- 《laravel 框架關鍵技術解析》學習筆記之裝飾者模式Laravel框架筆記模式
- laravel框架應用和composer擴充套件包開發Laravel框架套件
- 開發 Laravel 的 Composer 包Laravel
- 改進DevSecOps框架的 5 大關鍵技術dev框架
- 開發美顏SDK的關鍵技術有哪些?
- 承載億級流量的開發框架,閒魚 Flutter 技術解析與實戰大公開框架Flutter
- 重磅首發 | 承載億級流量的開發框架,閒魚 Flutter 技術解析與實戰大公開框架Flutter
- 開發 Laravel 包併發布到 packagist(composer)Laravel
- 元件化開發與黑箱元件化
- web開發框架技術有哪些?Web框架
- 新一代雲原生資料庫關鍵技術解析與最佳實踐資料庫
- NFV關鍵技術:儲存虛擬化概述
- 聊聊測試開發中提升 level 一些關鍵技術
- 佛薩奇2.0合約系統技術開發/python技術開發框架Python框架
- 數字孿生視覺化防汛系統:關鍵技術與應用視覺化
- Defi/LP雲算力質押挖礦系統開發技術(元件解析)元件
- Laravel PHP 框架網站重建技術分析LaravelPHP框架網站
- IPP挖礦技術開發/Defi挖礦/IPPswap理財挖礦系統開發元件解析元件
- 深度強化學習技術開發與應用強化學習
- 綜述 | 農業大模型:關鍵技術、應用分析與發展方向大模型
- 818臺網直播技術解析與最佳化策略
- Elasticsearch技術解析與實戰(六)Elasticsearch併發Elasticsearch
- 智慧文件處理IDP關鍵技術與實踐-高翔
- Web3.0去中心化交易系統開發丨DAPP技術框架Web中心化APP框架
- MVPArms官方首發一鍵生成元件化,體驗純傻瓜式元件化開發MVP元件化
- 使用 Composer 安裝 Laravel 時報錯Laravel
- Android快速開發框架,基礎庫,樣式庫,元件化,元件整合Android框架元件化
- bitmap技術解析:redis與roaringBitmapRedis
- 微服務框架相關技術整理微服務框架
- 深度解析混合開發技術成熟度曲線
- 基於 MVP 的 Android 元件化開發框架實踐MVPAndroid元件化框架
- Java併發—— 關鍵字volatile解析Java
- Java併發——關鍵字synchronized解析Javasynchronized
- 滴滴導航若干關鍵功能的技術突破與實踐
- Android技術棧(二)元件化改造Android元件化