composer安装Slim框架教程_轻量级API接口开发环境搭建【实操】

13次阅读

最稳妥方式是用 composer create-project 安装 Slim 4 或 5,它自动创建含 public/index.php、src/ 和 composer.json 的完整骨架项目,避免手动配置 autoload 和入口文件出错;若仅 require slim/slim 则缺少 PSR-7 实现、路由示例等,易导致 404 或 class not found 错误。

composer安装Slim框架教程_轻量级API接口开发环境搭建【实操】

直接用 composer create-project 装 Slim 4 或 Slim 5 是最稳妥的方式,跳过手动配置 autoloadindex.php 入口的常见翻车点。

用 create-project 快速初始化 Slim 项目

这是官方推荐方式,自动拉取带完整结构(含 public/index.phpsrc/composer.json)的 Skeleton 项目,避免手写路由引导文件出错。

  • 装 Slim 5(PHP 8.1+):
    composer create-project slim/slim-skeleton my-api
  • 装 Slim 4(兼容 PHP 7.4–8.2):
    composer create-project slim/slim-skeleton:^4 my-api
  • 执行后进入目录,cd my-api,再运行
    php -S localhost:8000 -t public

    即可访问 http://localhost:8000

为什么不要用 require slim/slim 直接装?

单纯 composer require slim/slim 只装核心库,不带路由示例、中间件模板、PSR-7 实现(如 nyholm/psr7)或 Web 服务器配置,新手极易卡在「404」或「No route found」上。

  • 缺少 PSR-7 消息接口实现 → 报错 Class "LaminasDiactorosServerRequest" not found 或类似提示
  • 没配 public/index.phpRequest/Response 工厂 → 请求体为空、响应头丢失
  • routes.phpapp.php 手动引入顺序错 → 中间件不生效、CORS 失败

验证安装是否成功:跑一个最简 API 路由

编辑 src/AppFactory.php 后的 app 实例,或直接改 public/index.php(Slim 4/5 均适用):

$app = SlimFactoryAppFactory::create();  $app->get('/ping', function ($request, $response) {     return $response->withJson(['status' => 'ok', 'timestamp' => time()]); });  $app->run();

访问 http://localhost:8000/ping 应返回 JSON;若报 Class "SlimFactoryAppFactory" not found,说明你漏装了 Skeleton,不是只装了 slim/slim

常见环境踩坑点

本地开发时最容易忽略的是 public/ 目录作为 Web 根目录的约束,以及 PHP 内置服务器的 -t 参数指向错误。

  • php -S 时必须加 -t public,否则 index.php 不在根路径,重写规则失效
  • apache 需启用 mod_rewrite 并确保 .htaccesspublic/ 下(Skeleton 已自带)
  • nginx 配置里 try_files $uri $uri/ /index.php?$query_string; 必须写在 location / 块内,且 root 指向 public/ 目录,不是项目根目录
  • windows 上 Composer 安装慢?换国内镜像:
    composer config -g repo.packagist composer https://packagist.phpcomposer.com

    (注意:Slim 官方包在 packagist.org 主站同步及时,镜像可能延迟数小时)

真正麻烦的从来不是写路由,而是让请求第一秒就进到 $app->run() 里——路径、重写、PSR-7 实现、入口文件位置,四个点错一个,就卡在白屏或 404。

text=ZqhQzanResources