Slim 是一款基于 PHP 的web开发微框架,帮助 PHP 开发者快速编写简单强大的 Web 应用和 API。Slim的接口简单而符合直觉,文档也很详细。

use \Psr\Http\Message\ServerRequestInterface as Request;

use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';

$app = new \Slim\App;

$app->get('/hello/{name}', function (Request $request, Response $response) {

$name = $request->getAttribute('name');

$response->getBody()->write("Hello, $name");

return $response;

});

$app->run();

下载 & 安装

我们推荐你使用 Composer 这个依赖管理器来安装 Slim 框架。

使用 Slim 开始你的项目的最简单的方法,就是使用 Slim-Skeleon 作为基础骨架。运行以下 bash 命令:

$ php composer.phar create-project slim/slim-skeleton [my-app-name]

用你的应用程序所需的目录名称来替换 [my-app-name] 。

然后,你可以使用 PHP 的内置 Web 服务器来运行程序:

$ cd [my-app-name]; php -S 0.0.0.0:8080 -t public public/index.php

使用 Composer 进行安装

首先在你的项目中安装 Composer:

curl -s https://getcomposer.org/installer | php

然后在你的项目根目录中建立名为 composer.json 的文件:

{

"require": {

"slim/slim": "2.*"

}

}

通过 composer 进行安装:

php composer.phar install

添加下列代码到应用的 index.php 文件中:

require 'vendor/autoload.php';

特色

HTTP 路由

Slim 提供了快速强大的路由器,它能将路由映射到特定的 HTTP 请求方法和 URI 。它支持参数和模式匹配。

中间件

使用同心中间件构建你的应用程序来处理你的 Slim 应用程序的 HTTP请求对象和响应对象。

PSR-7 支持

Slim 支持任意 PSR-7 消息实现方法,所以你可以检查和处理 HTTP 消息的方法、状态、URI、头、cookies和体。

依赖注入

Slim 支持依赖注入,所以你能完全控制你的外部工具。使用任意 Container-Interop 容器。

系统依赖

PHP 5.3.0 或以上

如果你需要对cookies进行加密,则还需要 mcrypt 拓展。

配置

Slim 框架提供了两种方式对其进行配置。一种是在生成实例的时候进行参数设置,另一种则是在生成实例之后。所有的设置参数都可以在生成实例的时候以数组的形式传递给 Slim 的构造函数(constructor)。所有的设置参数都可以在生成实例之后获取或者修改,但是有些设置并不能简单的只依靠应用实例的 config 函数来完成,因此有必要在后面额外说明。在我罗列这些有效设置参数之前,我想简单的介绍下怎么定义或检查 Slim 应用的参数设置。

相关链接

php web 简单的系统,Slim 简单而强大的 PHP 微型 Web 开发框架 - 资源分享相关推荐

  1. php web 简单的系统,一个简单的Webmail系统_PHP

    WebMail sadly 这是一段Web Mail的示范代码,功能不是很强,但是结构还比较完整,主要的功能如查看文件夹,查看信件,回复,写信都有.但是程序中没有考虑附件解读和发送的问题. (原文在 ...

  2. web应用插件开发_Web应用程序的简单插件系统

    web应用插件开发 我们需要制作多个具有很多共享功能的基于Web的项目. 为此,某种插件系统将是一个不错的选择(作为粘贴粘贴内容的替代方法). 有些框架(例如grails)可以选择制作Web插件,但大 ...

  3. Web应用程序的简单插件系统

    我们需要制作多个具有很多共享功能的基于Web的项目. 为此,某种插件系统将是一个不错的选择(作为复制粘贴内容的替代方法). 有些框架(例如grails)可以选择制作Web插件,但大多数没有,因此需要实 ...

  4. python使用redis在实际场景使用_Python使用Redis实现作业调度系统(超简单)

    概述 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁 ...

  5. 拿来就能用!几步搭建一套简单直播系统 | 原力计划

    作者 | mind_programmonkey 责编 | 伍杏玲 出品 | CSDN博客 本次用Ngix+RTMP+FFmpeg搭建一个流媒体服务器,实现简单的直播效果. Nginx是一款轻量级的We ...

  6. java web没有APP流行_简单粗暴,详细得不要不要的 JavaWeb快速入门

    Paste_Image.png 前端时间我在写一个系列,是关于JavaWeb的一个入门级项目实战,我的初衷就是打算写给初学者的,希望能对他们有所帮助. 这段时间博主也接触了一些事情,感觉有必要专门把J ...

  7. SSM之SpringMVC 03 —— 整合SSM(简单图书系统)

    系列文章 SSM之SpringMVC 01 -- SpringMVC原理及概念.Hello SpringMVC 注解版和配置版 SSM之SpringMVC 02 -- Controller和RestF ...

  8. python编程超市购物系统_python实现简单购物车系统(练习)

    #!Anaconda/anaconda/python#coding: utf-8 #列表练习,实现简单购物车系统 product_lists= [('iphone',5000), ('computer ...

  9. 解析 WEB 中所有 URL 的简单牛B代码,先保存起来,方式将来找不到了

    解析 WEB 中所有 URL 的简单牛B代码,先保存起来,方式将来找不到了 2011-11-22 16:48        by        通用信息化建设平台,        1471       ...

最新文章

  1. Linux下的USB总线驱动 mouse
  2. 错误类型:“系统找不到 Microsoft.Office.Interop.Word(转)
  3. 设置WPF窗口相对于非WPF窗口的位置
  4. access开发精要(10)-筛选
  5. 深究Java中的RMI底层原理
  6. cocos2d-x编程之CCScale9Sprite典型用法
  7. Optical_Flow(1)
  8. key store是否创建_EKS-实践一 创建EKS集群
  9. [linux]【编译】【高级01】 - 动态库的设定和依赖性的检查 20160921更新 文章没有最终结案
  10. Flutter Container 容器以及对齐方式 Alignment
  11. [CF1107E]Vasya and Binary String【区间DP】
  12. 详解.NET IL代码
  13. R及RStudio下载安装教程(超详细)
  14. Hibernate(四)
  15. 暑期作息时间表模板_最新暑假作息时间表excel模板-暑假作息时间模板
  16. opencv项目6----AI绘画(隔空绘画)
  17. OSChina 周三乱弹 ——人生四人行,一男两女是夫妻,还有一个单身狗
  18. 驾驶证期满换证流程(杭州篇)
  19. 我不是领导,用考虑数字化转型么?
  20. linux shm open,undefined reference to \'shm_open\'解决办法-j_cle-ChinaUnix博客

热门文章

  1. linux 启动ftp服务,sftp服务
  2. 8月9日 华为发布了其自研的鸿蒙操作系统,华为正式发布自研操作系统鸿蒙,面向AI全场景...
  3. html点击文字展开图片,DIV CSS鼠标经过悬停在图片上时图片上方显示文字
  4. python绘制turtle心电图代码_python的生态系统是由标准库和第三方库组成的,turtle库是其标准库,所以不需要安装。_学小易找答案...
  5. python中ndarray对象实例化_Python —— 实例化ndarray对象
  6. convert.todatetime指定日期格式_java组件huTool日期DateUtil工具的使用
  7. python的dev包怎么安装_几种Python包的安装方式
  8. mysql下载for linux 64_mysql官网下载linux版本安装包
  9. java文件下载代码_Java代码实现文件下载
  10. Python嗅探socket