Medoo、Slim、Twig和Composer

本文将通过建立一个简单的文章浏览功能来学习Medoo、Slim、Twig和Composer的基本功能。

简介

medoo 一个轻量级的数据库框架,操作清晰,建议php5.4+使用

slim 一个轻量级的php框架,适合来搭建Web App和APIs,路由功能十分强大

twig 一款php模板引擎

composer 一款php依赖管理工具

前三者刚好可以各自负责M(medoo)V(twig)C(slim)

安装

首先安装composer,安装方法见 链接

然后建立一个项目目录(本文以Windows为例),在项目目录下打开cmd(shift+右键在菜单里可以快速在当前目录打开cmd),之后执行下列命令

之后我们需要的东西已经被自动下载到项目目录下的vendor文件夹内了

开始

我们可以先将vendor\slim\slim\example目录下的.htaccess复制到项目根目录,他可以省去url中的index.php

之后我们新建index.php,内容如下

只要加载了autoload.php,我们在实例化类的时候就可以省去载入,它会自动帮我们找到需要的(通过composer下载的)类的文件

之后创建config.php用来储存数据库配置

我们在mysql创建一个slim数据库,创建一个article表,包含三个字段,id、title、content,顺便插入两条数据稍后使用

接着我们引入这个配置文件

并且将实例化类的代码带上参数

下一步,我们创建一个用来连接数据库的方法(详情见medoo和slim的文档

调用这个方法的时候会自动加载我们写好的配置文件,将实例化的medoo做为返回值,我们可以用$this->db来调用这个方法

我们添加一个自动加载函数,用来加载我们的数据库操作类(详见 spl_autoload_register

我们新建一个classes文件夹,在里面创建Mapper.php

接着创建ArticleMapper.php

这样就可以获取到article表中的文章列表了

在index.php中$app->run();之前添加

访问site/article我们就可以看到数据了,接下来使用twig

新建一个templates文件夹,创建index.html

修改一下我们刚刚写的,使用twig输出html

刷新一下,我们就可以见到一个简单的文章列表了!接着我们制作文章内容页

在ArticleMapper.php中添加

再创建一个ArticleEntity.php来操作获取到的数据

创建一个文章内容页

最后回到index.php,添加路由

大功告成,点击site/article的文章标题,我们就会跳转到文章内容页

项目文件(不包含框架

下载

后记

时隔半年,blog挤出一篇文章,看了看友链那些家伙,大部分大概和我一样懒,半年更新一篇。不少网站404了,也有不少发现压根没我的链接了,算了我也不在乎这些。

发布者

《Medoo、Slim、Twig和Composer》有4个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注