catfan/medoo
The lightweight PHP database framework to accelerate development
Maintainers
Requires
- php: >=7.3
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: ^13
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
Provides
None
Conflicts
None
Replaces
None
MIT 467d100225ec3cb3082476f98193bb572015aff5
- Angel Lai <angel.woop@medoo.in>
databasesqlmysqlsqlitepostgresqllightweightmssqloraclephp frameworkmariadbdatabase library
This package is auto-updated.
Last update: 2026-06-14 09:20:03 UTC
README
👁 Build Status
👁 Total Downloads
👁 Latest Stable Version
👁 License
👁 Backers on Open Collective
👁 Sponsors on Open Collective
The lightweight PHP database framework to accelerate development.
Documentation
- English
- العربية
- Deutsch
- Español
- Français
- हिन्दी
- Italiano
- 日本語
- 한국어
- Português
- Русский
- ไทย
- Українська
- Tiếng Việt
- 简体中文
- 繁體中文
Features
-
Lightweight - A lightweight single-file package that keeps dependencies to a minimum.
-
Easy - A clean, intuitive API that helps you get started quickly.
-
Powerful - Designed for complex SQL, data mapping, and prepared statements without sacrificing readability.
-
Compatible - Works smoothly with MySQL, MariaDB, PostgreSQL, SQLite, MSSQL, Oracle, Sybase, and more.
-
Friendly - Fits naturally into Laravel, CodeIgniter, Yii, Slim, and other PHP frameworks.
-
Free - Released under the MIT license and free to use in personal or commercial projects.
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
// Load Composer's autoloader. require 'vendor/autoload.php'; // Import the Medoo namespace. use Medoo\Medoo; // Create a 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 teststo execute unit tests. - Use
php-cs-fixer fixto 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
- X.com: https://x.com/MedooPHP
- Open Collective: https://opencollective.com/medoo
