本文将介绍 Slim 3 以及如何安装它,后续相关文章将介绍其相关开发。
简介
Slim 3 是一个基于 PHP 语言的,奉行最佳实践的 Web 开发微型框架。它由 PHP 大牛 Josh Lockhart, Rob Allen, Gabriel Manricks, Andrew Smith 领导开发。它的[官方文档](https://www.slimframework.com/docs/) 能为你提供不少帮助。
Slim 是一个微型框架,可用它来开发任何规模和类型的网站以及 HTTP API。 “微” 这个词仅表示它自身的轻重或大小, Slim 麻雀虽小,五脏俱全,并且奉行和强迫你在开发中使用最佳实践,Slim 的主要作者之一 Josh Lockhart 是
PhpTheRightWay 项目的维护者,我想每个 PHP 开发者都应该熟知这个项目。
Slim 3 中的 “3” 是写这篇文章时它的最新的主版本号,它本体仅具有 3 个包,在其早期本本中,只有一个包。
Slim 3 的主要特性如下:
HTTP 路由
基于微型的 nikic/fast-route 包,Slim 让路由设置和分发更简单。
HTTP 消息
基于或实现了 [PSR-7](http://www.php-fig.org/psr/psr-7/) HTTP 消息发送/接受准则。
PSR 是由 PIG (PHP Framework Interop-Group) 制定的推荐准则或“标准”,也是 PHP 开发中的最佳实践,虽然它并非强制性的,但如果你在开发中遵循它指定的准则,会让自己的代码/包具有更低的耦合度或与其它包之间更具互
操作性。
依赖注入
架设在 composer 和 包 container-interop/container-interop 之上的依赖注入容器,能让开发者轻易使用各种已有的包或者他人开发的包。
中间件
和依赖注入特性一起,让 Slim 成为了一个超低耦合的 Web 开发框架。
为什么学习或使用 Slim 3 ?
当谈到 PHP 开发框架时, 常会想到的还有国产的 ThinkPHP, 国外的 Laravel , Symlony, Yii ,Zend Framework 以及其它一些过时的或者未能遵从最佳实践的框架,我这么说,并不代表前面的那些框架已经遵从了最佳实践或者比较新,那么,为什么有必要学习或使用 Slim 3 呢?
很简单,在遇到 Slim 3 之前,我最新还的 PHP 开发框架是 Laravel ,我想当你有过任何 Web 后端框架使用经验或者跳过它们的坑后,遇上 Slim 3 时,你也会觉得这个好,怎么个好法,就孩子没娘说来话长了,大致如下吧:
简易的 HTTP 请求和相应处理;
像 ORM , 迁移等 Laravel 的优势,Slim 3 也有;
自由选用想用的包(自己的或者别人已开发的),没问题;
轻量简单,易入门;
可很容易实现 RESTFul API ;
鼓励奉行最佳实践;
HTTP 消息机制;
缓存;
模板支持;
CSRF;
等等这些,都算是 Slim 3 的优点或者良好特性吧。
安装
前置条件
1 2 | PHP 版本不小于 5.5.0; 已安装 composer; |
Slim 提供了骨架应用,可以从它开始初探下:
1 | composer create-project slim/slim-skeleton slimHi |
如果见到错误提示:
1 2 3 | Failed to decode response: zlib_decode(): data error Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info |
不用管它,让 composer 继续运行,或者另开一个 CLI, 执行:
1 | composer config --global repositories.packagist.allow_ssl_downgrade false |
或者在让那一个 composer 继续执行,执行完成后,执行
1 | composer clear-cache |
后进入项目根目录,执行如下命令,:
1 | cd slimHi composer update |
如果有某个组件下载或安装失败了,应该再次安装,如我在安装过程中遇到 安装失败,我在项目根目录后,再次安装了它:
1 | composer require psr/container |
现在已经初始化过项目,并进入了项目的根目录了,执行:
1 | php -S localhost:8080 -t public public/index.php |
浏览器打开
1 | http://localhost:8080 |
现在你可以查看下这个项目根目录下的目录和文件了,重点关注下 public , src, templates 这几个目录下的文件了。
我将会在下一篇相关文章介绍如何在 Slim 3 中使用模板引擎 Twig。
小结
Slim 3 是目前最轻量级的和代码质量最好的 PHP 开发框架,如果客气点儿,可以加上之一。它值得开发者去学习,值得用户去使用,当然了,终端用户大多是不懂这些的,他们的一般性要求就是要快,要好看,要少花钱。。。