来认识 PHP 与 Laravel

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.


<<:  Day02_话说从头~ISO27001干嘛用的~能吃吗~XD"

>>:  Day 10 Compose UI migration 到目前的专案上!

Day-27 图论(Graph)基本概念

图(Graph)的表示 图(Graph) 图,是一种记录节点和节点之间关连的表示法。对於图,表示是由...

Data layer testing (2)

今天会继续写 EtaResponseMapperTest。我们示范的 test case 是正常输出...

Day 06 抽离C#程序码

昨天看到FetchData.razor的程序太长了,截图都要两次,为求方便,我们把@code的部分撷...

[Day2] 安装 Rust

$ curl https://sh.rustup.rs -sSf | sh -- -y 需要 GCC...

Day 21 Ruby 类别 vs 模组

类别 vs 模组 类别跟模组很像是因为类别就是继承自模组的。 类别的方法数比模组多了三个(因为下层继...