一、restful是什么
.
二、为什么要使用Restful
https默认端口是443
目前已发布的http1.0,http1.1
举例:需要获取资源的创建时间和最后修改时间,可以用HEAD请求
举例:需要请求获取服务器允许我对服务器进行哪些操作,可以用OPTIONS请求。还有类似访问频率参数
三、如何使用Restful
版本号也可以加入head中
PATCH只会返回更改的信息
右键管理员方式
s1
1
api.com
回车回车
n
删除vhosts/api.com/Errorfiles
管理员打开UPUPW_AP5.5/Apache2/conf/httpd-vhost.conf
将137行注释,设置关闭防跨站
q
rr
127.0.0.1 api.com
本地开发环境搭建好
使用mysql workbench
点击models的+
Add Diagram
设置表和字段
添加索引
设置文章
添加外键工具
多了一个外键
删除前面user表名
file-export-SQL script
导出脚本命名sql
生成之前先drop-next-next
打开数据库管理软件-右键数据库-运行SQL
刷新后发现多了mydb
连接外键。数据库新建完毕
访问都对应
<?php
/**
* 连接数据库并返回数据库句柄
*/
$pdo = new PDO('mysql:host=localhost;dbname=resfult','root','root')
return $pdo
新建api.com/lib/db.php
<?php
class User
{
/**
* 数据库连接句柄
*/
private $_db
/**
* 构造方法
* @param PDO @_db PDO连接
*/
/**
* 用户登录
*/
public function login($username, $password)
{
}
/**
* 用户注册
*/
public function register($username, $password)
{
return $this->_isUsernameExists($username)
}
/**
* 检测用户名是否存在
* @param $username
*/
private function _isUsernameExists($username)
{
$sql = 'SELECT * FROM `user` WHERE `username`=:username'
$stmt = $this->_db->prepare($sql)
$stmt->bindParam(':username',$username)
$stmt->execute()
$exists= $stmt->fetch(PDO::FETCH_ASSOC)
return !empty($exists)
}
}
新建api.com/lib/User.php
<?php
require __DIR__.'/lib/User.php'
$pdo = require __DIR__.'./lib/db.php'
$user = new User($pdo)
print_r($user->register('admin','admin')
新建api.com/index.php,实例化类
添加数据库记录
访问取得1
输入不存在用户,返回空
// return $this->_isUsernameExists($username)
if ($this->_isUsernameExists($username)){
throw new Exception('用户已存在', 1)
}
php内容有点多,有时间写吧