Download the PHP package vitexsoftware/fluentpdo without Composer
On this page you can find all versions of the php package vitexsoftware/fluentpdo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vitexsoftware/fluentpdo
More information about vitexsoftware/fluentpdo
Files in vitexsoftware/fluentpdo
Package fluentpdo
Short Description FluentPDO - PHP 8.1+ Edition. A modernized fork with strict typing, union types, and enhanced features. Quick and light PHP library for rapid query building with smart join builder.
License Apache-2.0 GPL-2.0-or-later
Homepage https://github.com/VitexSoftware/php-vitexsoftware-fluentpdo
Informations about the package fluentpdo
FluentPDO - PHP 8.1+ Edition
A modernized fork of the original FluentPDO project, updated for PHP 8.1+ with modern type declarations and enhanced features.
FluentPDO is a PHP SQL query builder using PDO. It's a quick and light library featuring a smart join builder, which automatically creates table joins for you.
About This Fork
This is a modernized fork of the original envms/fluentpdo project. Since the original project has been inactive for 3+ years (last commit in 2021), this fork provides:
- PHP 8.1+ compatibility with modern type declarations
- Strict typing throughout the codebase
- Union types and mixed types where appropriate
- Typed properties for better IDE support
- Array parameter handling with automatic JSON serialization
- Enhanced error handling and debugging capabilities
- Updated dependencies and development tools
Features
- Easy interface for creating robust queries
- Supports any database compatible with PDO
- Ability to build complex SELECT, INSERT, UPDATE & DELETE queries with little code
- Type hinting for magic methods with code completion in smart IDEs
PHP Version Requirements
This fork requires PHP 8.1 or higher.
What's New in This PHP 8.1+ Edition
- Modern Type System: Full use of PHP 8.1+ type declarations including union types
- Strict Types: All files use
declare(strict_types=1)for better type safety - Array Handling: Automatic JSON serialization of array parameters to prevent SQL errors
- Enhanced Performance: Better memory usage and performance through strict typing
- Developer Experience: Improved IDE support with proper type hints and autocomplete
- Future Ready: Prepared for upcoming PHP versions
Migrating from Original FluentPDO
If you're upgrading from the original FluentPDO (v2.x), this version maintains API compatibility while requiring PHP 8.1+. The main changes are internal improvements and type safety enhancements.
Reference
Sitepoint - Getting Started with FluentPDO
Installation
Composer
The preferred way to install this PHP 8.1+ edition of FluentPDO is via composer.
Or add the following line in your composer.json file:
Then run composer update and you're done!
Requirements
- PHP 8.1+ (required)
- PDO extension (required)
- Any PDO-compatible database (MySQL, PostgreSQL, SQLite, etc.)
Getting Started
Create a new PDO instance, and pass the instance to FluentPDO:
Then, creating queries is quick and easy:
which would build the query below:
To get data from the select, all we do is loop through the returned array:
Using the Smart Join Builder
Let's start with a traditional join, below:
That's pretty verbose, and not very smart. If your tables use proper primary and foreign key names, you can shorten the above to:
That's better, but not ideal. However, it would be even easier to not write any joins:
Awesome, right? FluentPDO is able to build the join for you, by you prepending the foreign table name to the requested column.
All three snippets above will create the exact same query:
Close your connection
Finally, it's always a good idea to free resources as soon as they are done with their duties:
CRUD Query Examples
SELECT
INSERT
UPDATE
DELETE
Note: INSERT, UPDATE and DELETE queries will only run after you call ->execute()
Modern PHP 8.1+ Features
Array Parameter Handling
This edition automatically handles array parameters by converting them to JSON strings:
Strict Type Declarations
All classes use strict typing for better performance and error detection:
Enhanced IDE Support
With full type declarations, you get better autocomplete and error detection in modern IDEs.
Credits
- Original FluentPDO: envms/fluentpdo by envms
- PHP 8.1+ Modernization: VitexSoftware
License
Free for commercial and non-commercial use under the Apache 2.0 or GPL 2.0 licenses.
All versions of fluentpdo with dependencies
ext-pdo Version *