2023年1月8日星期日 上午6:19
斷斷續續都用咗Laravel
一年了,一開始學嘅時候係因為兼職戈到啲項目係用Laravel
寫,咁好理所當然我要幫手維護同加功能係現有項目到。可能因為部分嘅項目都係由過往嘅學生兼職寫,所以部分代碼都顯得不一致同凌亂,再加上佢地亦都唔著重代碼質量(對於強迫症嘅我好難受)。導致我對Laravel
嘅印象一直都唔太好,而我嘅全端學習計劃又因為仲係前端進度到,係過去一年都無咩機會從零去學Laravel
。
咁係最近我嘅計劃終於到後端嘅部分了,我先係用咗Node.js / Express.js
體驗咗後端開發嘅正確流程同觀念,隨著慢慢步入後端嘅系統學習,過往工作上嘅疑慮都慢慢煙消雲散。咁係經過我整整100日嘅系統學習同個Blog Project後,我終於踏上咗重新學Laravel
嘅路上。
我搵咗好多對於網上教學資源嘅評價,見到大部分人都會提起Laracasts
。如是者我就開始睇佢啲教學,一睇就發覺好高質量,亦都顛覆咗我對PHP
,Laravel
嘅印象。佢嘅教學係從零開始用PHP
寫咗一個迷你Laravel
出黎,可能觀眾戈一刻未發覺,但係對住咗Laravel
成年嘅我,好快就發現佢嘅寫法同設計同Laravel
都十分相似。就係咁,我就有一個好好嘅機會由底層出發去了解呢個框架。另外我都好推薦呢套紀錄片,裡面講述咗創辦人Taylor Otwell嘅熱情同堅持,令到我更加有動力去學好Laravel
。
就如官網的大標題所寫,這是一個為網頁藝術家打造的 PHP
框架。Taylor認為開發的過程應該是要享受的,所以 Laravel
也是使用著優雅且簡潔的代碼設計,也強調所有的特性都是由團隊深思熟慮後的產物。
Laravel
是在2011年出現的,而 PHP
是在1994開始出現的,在這將近20年中也有不少優秀的框架一直幫助著開發者。不過Taylor認為那時候使用的框架沒有很好地提供一些功能;例如權限與授權的功能,結果就是他開始寫出一套自己的框架出來了。在這過程中,他參考了許多其他框架中的優點再把這些結合到 Laravel
裡面。
1. 內置終端機指令:利用 artisan
可以很有效的提高開發體驗和速度,例如快速生成模板代碼、對數據庫的整理和操作、自定義指令等等。
2. 許多精心維護的套件:一些企業應用中很常見的功能,例如跟大平台公司用 OAuth 的使用者賬號授權、API與存取權限等等的,這些都可以通過 Laravel
維護的套件實現。
3. 安全性:對於網絡應用,縱使其他功能有多強大,安全性有擔憂的話還是沒有公司會採用的。而 Laravel 也是出了名安全的,通過內置的功能可以預防所有常見的惡意攻擊。例如XSS和SQL injection。
4. 社區支持:所有優秀的開源項目都需要有活躍的社團用戶去使用和維護,而 Laravel
也是經得起時間的考驗,時到今日在Github上面也擁有著72k的星星認可。
如果主機還沒有PHP
則可以先安裝,安裝的方法好像有很多,視乎主機的系統,跟著官網的教程安裝。記得把PHP
放進系統環境變量,方便後續使用。
# php -v
PHP 8.2.0 (cli) (built: Dec 6 2022 15:31:23) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.0, Copyright (c) Zend Technologies
Composer
是 PHP
的依賴包管理器,可以幫助開發者把別人的套件下載到本地進行開發。我們要學習的 Laravel
也把它們框架的安裝包放了上 Composer
,所以我們可以先下載它。在Windows上可以直接下載安裝包,其他系統上則要在終端上安裝,詳情可以看官方的指示。
# composer -v
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.4.4 2022-10-27 14:39:29
Laravel 提供了開發者兩種方式去建造你的項目,把安裝包下載到主機上後再用指令建構項目、與直接下載不用安裝包。我們可以用直接下載的方法:
# composer create-project laravel/laravel:<"Laravel版本號"> <項目名稱>
# composer create-project laravel/laravel:^9.0 basic-crud
Creating a "laravel/laravel:^9.0" project at "./basic-crud"
Info from https://repo.packagist.org: #StandWithUkraine
Installing laravel/laravel (v9.5.0)
...
安裝好之後就可以看到新建立的檔案了,進入這個目錄後可以看看 Laravel
的指令集 artisan
提供的指令有什麼:
# cd basic-crud
# php artisan
Available commands:
about Display basic information about your application
clear-compiled Remove the compiled class file
completion Dump the shell completion script
db Start a new database CLI session
...
當中的指令可以大大的提高開發者的效率!例如 make
的指令可以快速的建構代碼模板。
現在我們可以啟動 Laravel
的開發伺服器,然後再瀏覽器上看預設的網頁樣式。
# php artisan serve
INFO Server running on [http://127.0.0.1:8000].
Press Ctrl+C to stop the server