elzekool/fluent_dbal

基于 PDO 的简单易用且与框架无关的流畅数据库抽象层。

0.3.2 2013-10-14 14:58 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:33:51 UTC


README

FluentDbal 是一个简单易用且与框架无关的基于 PDO 的流畅数据库抽象层。它可以帮助您轻松构建数据库查询,而不必创建额外的开销。

主要特性

  • 允许重用预处理语句
  • 轻量级
  • 促进使用预处理语句,防止 SQL 注入攻击

从 FluentDbal 开始

  1. 确保已安装 PHP 5.3.*
  2. 使用 Composer 或手动安装 FluentDbal
  3. 创建 PDO 实例
  4. 创建 FluentDbal 实例
  5. 使用 FluentDbal 创建查询(共享 PDO 连接)

示例

$pdo = new \PDO('mysql:host=127.0.0.1;dbname=world', '', '');

$dbal = new FluentDbal($pdo);

$query = $dbal
    ->newQuery()
    ->select('city.Name,country.name, city.District')
    ->from('city')
    ->leftJoin('country', 'country.Code = city.CountryCode')
    ->where('city.CountryCode = ?', 'NLD')        
        
    // Orderby can be repeated
    ->orderby('city.Population','DESC')
    ->orderby('city.Name','ASC')
        
    ->limit(1);
    
$city = $query->execute();

print_r($city->fetch());
// stdClass Object
// (
//    [Name] => Amsterdam
//    [name] => Netherlands
//    [District] => Noord-Holland
// )

变更日志

11-09-2013:允许在构建查询时使用命名参数。对于 customsetwhere 函数,现在可以直接添加命名参数。为此,只需添加一个类型为数组的一个参数,键为参数名。如果您需要设置多个参数,请将它们添加到同一个数组中。不能混合使用编号和命名参数。

示例:->where('city.CountryCode = :cc', array(':cc' => 'NLD'))

许可证

(MIT 许可证)

版权所有 (c) 2013 Elze Kool info@kooldevelopment.nl

在此特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得该软件的人进行上述操作,前提是必须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他方式,无论此类责任是否源于、因之产生或与此类软件或其使用或其他交易有关。