数据库开发 PHP

开发者在进行数据库相关开发时可以使用自己的方式开发如使用 spring-jpa,也可以使用有赞推荐的方式进行开发,有赞对数据库连接池、事务等进行了封装,配置即可使用,方便开发,提升开发效率,推荐使用并且会提供答疑。

添加组件

image-2018112916283261110

如上图所示:

  1. 选择应用,进入应用管理;

  2. 点击组件管理

  3. 点击新增组件,选择 mysql

配置查看

创建后,进入配置管理 应用配置,可以看到 mysql 的相关配置。

image-2018112916283261111

建数据库表

  • 点击右上角管理控制台按钮:

image-2018112916283261112

  • 进入控制台【phpadmin】,输入上面页面中的 uri、用户名、密码等信息进行登录:

image-2018112916283261113

  • 登录进去后可以建库、建表。

编写代码

有赞云 php 框架封装了数据库访问,基于 facade 封装了一个 DBFacade,DBFacade 底层实现会根据开发者是否申请 Mysql 组件,利用 Mysql 配置自动初始化 DB 实例。

<上下滑动查看全部内容>
<?php

namespace YouzanCloudBootApp\Controller;

use PDO;

use Slim\Http\Request;

use Slim\Http\Response;

use YouzanCloudBoot\Component\BaseComponent;

use YouzanCloudBoot\Facades\DBFacade;

use YouzanCloudBoot\Facades\LogFacade;

class TestMysqlController extends BaseComponent

{

 public function index(Request $request, Response $response, $args)

 {

 LogFacade::info("use test_pub_php");

 DBFacade::exec('use test_pub_php');

  //插入数据

 LogFacade::info("insert into demo_user");

 $insertStmt = DBFacade::prepare("INSERT INTO `demo_user`(`name`, `phone`, `sex`) VALUES ('testUser', 987654321, 1)");

 $insertStmt->execute();

  //查询数据

 LogFacade::info("select demo_user");

 $queryStmt = DBFacade::query("select * from `demo_user` where name='testUser'");

  //单个查询

 $result = $queryStmt->fetch(PDO::FETCH_ASSOC);

 if (empty($result)) {

 return $response->withJson(['phone' => 'empty']);

 } else {

 return $response->withJson(['phone' => $result['phone']]);

 }

  //批量查询

// $result = $queryStmt->fetchAll(PDO::FETCH_ASSOC);

// if (empty($result)) {

// return $response->withJson(['phone' => 'empty']);

// } else {

// return $response->withJson(['phone' => $result[0]['phone']]);

// }

 }

}

如上所示,DBFacade 有大部分 db 操作的 api,可以根据自己需要来使用。