jlibs / medoo
The lightweight PHP database framework to accelerate development
Fund package maintenance!
Open Collective
paypal.me/AngelaonLai
Installs: 322
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1 149
Type:framework
Requires
- php: >=7.3
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: ^9.0
Suggests
- ext-pdo_dblib: For MSSQL or Sybase database on Linux/UNIX platform
- ext-pdo_mysql: For MySQL or MariaDB database
- ext-pdo_oci: For Oracle database
- ext-pdo_pqsql: For PostgreSQL database
- ext-pdo_sqlite: For SQLite database
- ext-pdo_sqlsrv: For MSSQL database on both Window/Liunx platform
This package is auto-updated.
Last update: 2025-08-22 00:42:04 UTC
README
The lightweight PHP database framework to accelerate development.
Features
-
Lightweight - Single-file framework with minimal dependencies.
-
Easy - Simple and intuitive API for quick integration.
-
Powerful - Supports complex SQL queries, data mapping, and SQL injection prevention.
-
Compatible - Works with MySQL, MariaDB, PostgreSQL, SQLite, MSSQL, Oracle, Sybase, and more.
-
Friendly - Integrates seamlessly with Laravel, CodeIgniter, Yii, Slim, and other PHP frameworks.
-
Free - Licensed under MIT, free to use for any purpose.
Jlibs Fork Notes
This repository is a fork of Medoo, maintained under the Jlibs
namespace.
It includes the following modifications:
- Added support for raw objects in JOIN statements for more flexible query building.
- Namespace updated to
Jlibs\Medoo
to avoid conflicts with the original Medoo package.
All other features and APIs remain compatible with the original Medoo.
You can use this fork as a drop-in replacement if you need the new JOIN handling capability.
Requirements
- PHP 7.3 or later
- PDO extension enabled
Get Started
Install via composer
Add Medoo to the composer.json
configuration file.
$ composer require catfan/medoo
Then update Composer
$ composer update
// Require Composer's autoloader require 'vendor/autoload.php'; // Import Medoo namespace use Medoo\Medoo; // Initialize database connection $database = new Medoo([ 'type' => 'mysql', 'host' => 'localhost', 'database' => 'name', 'username' => 'your_username', 'password' => 'your_password' ]); // Insert data $database->insert('account', [ 'user_name' => 'foo', 'email' => 'foo@bar.com' ]); // Retrieve data $data = $database->select('account', [ 'user_name', 'email' ], [ 'user_id' => 50 ]); echo json_encode($data); // [{ // "user_name" : "foo", // "email" : "foo@bar.com", // }]
Contribution Guidelines
Before submitting a pull request, ensure compatibility with multiple database engines and include unit tests when possible.
Testing & Code Style
- Run
phpunit tests
to execute unit tests. - Use
php-cs-fixer fix
to enforce code style consistency.
Commit Message Format
Each commit should begin with a tag indicating the type of change:
[fix]
for bug fixes[feature]
for new features[update]
for improvements
Keep contributions simple and well-documented.
License
Medoo is released under the MIT License.
Links
-
Official website: https://medoo.in
-
Documentation: https://medoo.in/doc
-
Twitter: https://twitter.com/MedooPHP
-
Open Collective: https://opencollective.com/medoo