Restful API实战(php内容有点多,有时间写吧)

课程地址:https://www.imooc.com/learn/811php

1、restful是什么

.mysql

2、为何要使用Restful

https默认端口是443sql

目前已发布的http1.0,http1.1数据库

举例:须要获取资源的建立时间和最后修改时间,能够用HEAD请求api

举例:须要请求获取服务器容许我对服务器进行哪些操做,能够用OPTIONS请求。还有相似访问频率参数服务器

3、如何使用Restful

版本号也能够加入head中restful

PATCH只会返回更改的信息工具

右键管理员方式fetch

s1ui

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内容有点多,有时间写吧

相关文章
相关标签/搜索