Laravel

Laravel

语法表达力强的 PHP 全栈框架,用 Composer 安装与管理

核心功能

Laravel 把路由、Artisan 命令行、Blade 模板、数据库迁移和队列等打包成一套完整的应用底座,新项目创建后默认就带一个已迁移好的 SQLite 数据库。适合中大型 PHP 业务系统和需要认证脚手架的产品型项目。

功能亮点

一条命令建好应用

laravel new example-app 会交互式询问 starter kit,生成目录并把依赖装好

开发环境一键起全套

composer run dev 同时拉起本地开发服务器、队列 worker 和 Vite 开发服务

默认数据库已经迁移完

新项目自带 database.sqlite 并跑过 migrations,不用先装数据库就能开始写业务

认证脚手架可选装

官方 starter kits 直接提供前后端认证脚手架,省掉登录注册这类重复搭建

上线前一条优化命令

php artisan optimize 一次性缓存配置、事件、路由和视图,替代逐条 cache 命令

适用场景

• 中大型 PHP 业务系统,需要迁移、队列、缓存等能力开箱可用
• 带登录注册的产品型 Web 应用,直接用官方 starter kit 的认证脚手架起步
• 前后端同仓的项目,借 composer run dev 一次拉起后端与 Vite 前端

安装配置

bash
前置条件:PHP >= 8.2,并启用 Ctype、cURL、DOM、Fileinfo、Filter、Hash、Mbstring、OpenSSL、PCRE、PDO、Session、Tokenizer、XML 扩展。

若本机还没有 PHP 与 Composer,官方提供一键脚本:
macOS:
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
Linux:
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
Windows(以管理员身份运行 PowerShell):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4'))

已有 PHP 与 Composer 时,用 Composer 安装 Laravel installer:
composer global require laravel/installer

创建应用:
laravel new example-app

使用方法

bash
创建应用后进入目录,装好前端依赖并启动开发环境:
cd example-app
npm install && npm run build
composer run dev

应用会运行在 http://localhost:8000 。

常用 Artisan 命令:
php artisan migrate          # 执行数据库迁移(改用 MySQL/PostgreSQL 时需要手动跑)
php artisan optimize         # 上线前一次性缓存配置、事件、路由和视图
php artisan optimize:clear   # 清除上述缓存
php artisan config:cache     # 单独缓存配置
php artisan route:cache      # 单独缓存路由
php artisan view:cache       # 预编译 Blade 视图
php artisan reload           # 重启队列 worker、Reverb、Octane 等常驻服务

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标Laravel
价格免费
开源
上手难度进阶

相关工具

同类工具

优点

  • laravel new 创建应用时就配好 SQLite 并跑完迁移,装好即可写业务,不用先起数据库
  • composer run dev 一条命令同时启动开发服务器、队列 worker 和 Vite,省掉多开终端
  • Artisan 提供 migrate、optimize、route:cache 等成套命令,开发到上线都有对应动作
  • 内置 /up 健康检查路由并派发 DiagnosingHealth 事件,可自定义检查数据库或缓存状态

缺点

  • 对运行环境要求明确:PHP >= 8.2 且需启用十余个 PHP 扩展,环境准备比纯脚本项目多一步
  • 部署时必须把 Web 服务器请求指向 public/index.php,并保证 storage 与 bootstrap/cache 可写,配置不当会有安全风险
  • 执行 config:cache 后 .env 不再加载,此时在配置文件之外调用 env() 会拿到 null,需要遵守配置写法约定