iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0
自我挑戰組

PHP 與 Laravel 雜記系列 第 1

來認識 PHP 與 Laravel

  • 分享至 

  • xImage
  •  

PHP 幹古

最早於 1994 由 Rasmus Lerdorf 用 C 語言開發的 CGI 程式, 一開始只用來追蹤訪問者的訊息, 作為用來更新自己的個人網頁的工具, 他將此工具稱為 Personal Home Page Tools 被簡稱為 PHP Tools, 後來增加更多功能, 包含與資料庫的交互, 也提供一個框架可以開發像留言板的簡單 Web 應用程式, Rasmus 在1995年中釋出了原始檔, 在9月時又擴展了 PHP 而捨棄 PHP 名稱, 改為 Form Interpreter 簡稱 FI, 這版的實作包含現今一些 PHP 功能, 如類 perl 的變數, 表單變數的自動解釋, 可內嵌 HTML 語法, 到了 10 月 Rasmus 又釋出完整重寫後的代碼, 並將重新使用 PHP 當名稱, 全稱為 Personal Home Page Construction Kit, 聲稱是一個高級腳本介面, 語言設計在結構上類似 C, 到了 1996 4 月程式碼完全改造後結合了之前的名稱, 成為 PHP/FI 為第2代的實作, PHP 開始從一套工具轉變成一個程式語言, 內建支持 DBM, mSQL, Postgres95 資料庫, cookies, 自定義函數等等其他, 6 月時釋出了 PHP/FI V2.0, 1997 11 月時發布了 PHP/FI V2.0 正式版至此都僅限於 POSIX 的作業系統, 後來 Andi Gutmans和Zeev Suraski開發大學專案時發現 PHP/FI 2.0 依舊效能低並缺乏電子商務應用的特性, 於是兩人開始對重寫底層解析器, 後來與 Rasmus 重新開發一個全新的語言繼任 PHP/FI 2.0 為 PHP 3.0, PHP 全稱變為 PHP: Hypertext Preprocessor, PHP 3.0 有強大的可擴展特性, 另外提供多資料庫與多協定的成熟介面, 也引入了 OOP 支持, 1998 PHP 3.0 正式版推出時, 已經不限於 POSIX 作業系統使用, 發展到了 1998 冬季 Andi 和 Zeev 開始重寫 PHP 核心, 設計目標是改善複雜應用程式的效能和改善 PHP 代碼的模組化, 一個實現這些設計目標的引擎產生於 1999, 名為 Zend Engine, PHP 4.0 就是基於這引擎, 也提供了更多關於網頁伺服器的新特性如, HTTP sessions等, 接下來經過長時間的開發, 在 2004 年PHP 5 釋出了由 Zend Engine 2.0 驅動, 2010 中止 PHP 6.0, 2015 PHP 7.0 發布, 2020 11 月 PHP 8.0 釋出.

Laravel 幹古

Laravel 是由 Taylor Otwell 建立的開源 PHP Web 框架, 一開始試圖為提供 CodeIgniter 框架的另類方案, 內建身分驗證與授權, Laravel 1 於 2011 6 月釋出內建多語系模組, view, session, routing, 但對 controller 機制缺乏支持無法成為真正 MVC 框架, Laravel 2 於 2011 9 月支持 controller 機制是一個全 MVC 框架, 內建 IoC 原則和一個名為 Blade 的模板系統, 但移除了對第三方套件的支持, 2012 釋出 Lavael 3 內建一個 command-line system 叫 Artisan, 內建支持更多資料庫管理系統, database migration 如同資料庫布局的版本控制形式, 內建支持事件處理, 有叫 Bundles 的打包系統, 至此 Laravel 受歡迎程度有所增加, 2013 5 月代號 Illuminate 完整重寫的 Laravel 4.0 釋出, 透過 Composer 管理分散的套件, Composer 是應用層級的套件管理工具, 提高了可擴充性, 新特性包含 database seeding 用來初始化資料庫的資料, 支持 queue, 支持發送不同類型的 e-mail, 支持資料庫 soft deletion, 2015 2 月 Laravel 5 釋出, 新特性有週期性執行的 Scheduler, 一個讓本地與遠端相同檔案操作的抽象層 Flysystem, 改善套件管理的 Elixir, 簡化的身分驗證的可選套件 Socialite, 引入了新的目錄結構, Laravel 5.1 2015 釋出, 為第一個 long-term suport 版本, Laravel 5.3 2016 釋出, 主要協助使用者加速開發, Laravel 6.0 2019 釋出, 引入語義版本控制, Laravel 7.0 2020 3 月發布, 加入 Laravel Sanctum 為SPA, 手機應用提供 API token 的生成與管理, 2020 9 月 Laravel 8 釋出, 引入 Laravel Jetstream.


下一篇
PHP 規範
系列文
PHP 與 Laravel 雜記14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言