[转]php,使用Slim和Medoo搭建简单restful服务

本文转自:https://www.jianshu.com/p/32b6d0284d97

关于rest和orm框架的组合使用,几年前我就写过使用Slim+Notorm来搭建restful服务,不过看到Notorm几年没更新了,所以贪新厌旧换了Medoo,它非常精简,除去依赖,就一个文件,使用也很简单,可以看以下网页文档:
官方文档 | 中文文档

Slim——rest框架说明

使用上很简单,如下代码即可实现一个get服务:

<?php

require 'vendor/autoload.php';
$app = new Slim\App(); $app->get('/hello/{name}', function ($request, $response, $args) { return $response->write("Hello, " . $args['name']); }); $app->run(); 

若此文件名为index.php,则在浏览器上访问部署地址/index.php/helllo/world即可看到响应结果Hello, world。

Medoo——orm框架说明

其中Medoo使用上注意以下内容:

要求
- PHP>=5.4, 必须支持PDO.
- 支持 MySQL, MSSQL, SQLite 等数据库.
- 确保php_pdo_xxx (xxx = 数据库类型) 的xxx数据扩展已经正确安装并启用.
- 需要懂一些SQL知识.
Php_pdo 扩展列表
- MySQL, MariaDB -> php_pdo_mysql
- MSSQL (Windows) -> php_pdo_sqlsrv
- MSSQL (Liunx/UNIX) -> php_pdo_dblib
- Oracle -> php_pdo_oci
- Oracle version 8 -> php_pdo_oci8
- SQLite -> php_pdo_sqlite
- PostgreSQL -> php_pdo_pgsql
- Sybase -> php_pdo_dblib
PHP PDO安装
medoo需要PHP支持PDO扩展,请在安装相关扩展后继续以下操作
// 打开php.ini找到你想要的相应扩展,去掉前面的;号即可
// 将
;extension=php_pdo_mysql.dll
// 修改成
extension=php_pdo_mysql.dll
// 保存,重启你的PHP或者服务器 //如果PDO安装成功,你可以通过phpinfo()查看到它. 

等配置完成后,如下使用即可完成数据库连接及插入数据测试:

// If you installed via composer, just use this code to requrie autoloader on the top of your projects.
require 'vendor/autoload.php';

// Using Medoo namespace use Medoo\Medoo; $database = new Medoo([ // 必须项 'database_type' => 'mysql', 'database_name' => 'name', 'server' => 'localhost', 'username' => 'your_username', 'password' => 'your_password', // 以下全为可选参数 'charset' => 'utf8', 'port' => 3306, // [optional] Table prefix 'prefix' => 'PREFIX_', // [optional] Enable logging (Logging is disabled by default for better performance) 'logging' => true, 'socket' => '/tmp/mysql.sock', // [optional] driver_option for connection, read more from http://www.php.net/manual/en/pdo.setattribute.php 'option' => [ PDO::ATTR_CASE => PDO::CASE_NATURAL ], // [optional] Medoo will execute those commands after connected to the database for initialization 'command' => [ 'SET SQL_MODE=ANSI_QUOTES' ] ]); $database->insert("account", [ "user_name" => "foo", "email" => "foo@bar.com" ]); 

两者组合

<?php
header('Content-type: text/json;charset=utf-8');//申明格式

require 'vendor/autoload.php'; use Medoo\Medoo; $app = new Slim\App(); // 初始化数据库连接 $database = new Medoo([ 'database_type' => 'mysql', 'database_name' => 'my_blog', 'server' => '192.168.99.100', 'port' => '32770', 'username' => 'wood', 'password' => 'wood', 'charset' => 'utf8', 'command' => [ "SET NAMES 'utf8'" ] ]); $app->get('/hello/{name}', function ($request, $response, $args) { return $response->write("Hello, " . $args['name']); });// GET route $app->get( '/getArticle', function () use ($app, $database){ $data = $database->select('article', "*"); echo json_encode($data); } ); 

代码可以看出两者组合使用也很简单直观,有空快来试试吧。



作者:IT晴天
链接:https://www.jianshu.com/p/32b6d0284d97
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

转载于:https://www.cnblogs.com/freeliver54/p/10496732.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值