catfan / medoo
The lightweight PHP database framework to accelerate development
Fund package maintenance!
Open Collective
paypal.me/AngelaonLai
Installs: 1 292 234
Dependents: 255
Suggesters: 4
Security: 1
Stars: 4 870
Watchers: 209
Forks: 1 148
Open Issues: 53
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
- dev-master
- v2.2.0
- v2.2.0-beta
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.1
- v2.0.0
- v1.7.10
- v1.7.9
- v1.7.8
- v1.7.7
- v1.7.6
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.1
- v1.6
- v1.5.7
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5
- v1.5a
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4
- v1.2.1
- v1.2
- v1.1.2
- v1.1.1
- v1.1
- v1.0.2
- v1.0
- v0.9.8
- v0.9.7
- v0.9.6.2
- v0.9.6
- v0.9.5.3
- dev-develop
This package is auto-updated.
Last update: 2025-03-31 07:46:17 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.
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