rev / sway-dblayer
模拟 SwayDbLayer 的行为
dev-master
2017-03-17 16:21 UTC
Requires
- php: >=7.0
This package is not auto-updated.
Last update: 2024-09-28 20:03:51 UTC
README
PHP 'pdo' 驱动器的包装器。
此包来自 swayengine 2。
安装
composer require rev/sway-dblayer
这将安装最新版本的包。
要求
此包需要 PDO 驱动器(默认情况下,与 PHP 一起打包)。
用法
- 创建连接处理器
<?php /** * Helps to create connection credentials */ $dblayerConnector = new DBLayerConnector(); $dblayerConnector->setDatabaseHostName('localhost'); $dblayerConnector->setDatabaseListenerPort(3306); $dblayerConnector->setDatabaseName('my_db'); $dblayerConnector->setDatabaseUserName('john_sky'); $dblayerConnector->setUserPassword('my_secret_password'); $dblayerConnector->setSchemaPrefix('dev'); /** * Sets to 'pdo_mysql' */ $dblayerConnector->useMysqlDriver(); /** * Connects to database and get DBLayer instance */ $db = $dblayerConnector->connect(); ?>
- 获取行
<?php /** * Returns all rows with given type as associative array */ $db->Run("SELECT * FROM %pr%my_table WHERE type = ?", [ 'eg_type', PDO::PARAM_STR])->assoc(); /** * Returns first fetched row as associative array */ $db->Run("SELECT * FROM %pr%my_table WHERE type = ?", [ 'eg_type', PDO::PARAM_STR ])->assoc(0); /** * Returns value under column 'column1' at first fetched row. */ $db->Run("SELECT column1, column_2 FROM %pr%my_table WHERE type = ?", [ 'eg_type', PDO::PARAM_STR ])->assoc(0, 'column1'); /** * Executes an query and pass array with fetched rows to given anonymous function. * Anonymous function must returns a value. */ $db->Run("SELECT * FROM %pr%my_table WHERE type = ?", [ 'eg_type', PDO::PARAM_STR ])->assoc(function($entries) { //do something with fetched entries return $entries; }); ?>
- 插入、更新、删除行
<?php $db = (new DBLayerConnector())->connect(); /** * Returns True if rows have been updated, * returns false if no rows have been updated. */ $db->Run("UPDATE %pr%my_table SET column1 = ? WHERE type = ?", [ 'value1', PDO::PARAM_STR ], [ 'eg_type', PDO::PARAM_STR ])->assoc(); ?>