fullstackpe / micro-db
Simple orm library
Requires
- php: >=7.0.0
Requires (Dev)
- atoum/atoum: ^3.2
This package is not auto-updated.
Last update: 2025-03-15 02:32:50 UTC
README
Micro-db is a lightweight ORM library.
Installation
First you need to install Composer. You may do so by following the instructions at getcomposer.org. Then run
composer require fullstackpe/micro-db
If you prefer you can create a composer.json in your project folder.
{ "require": { "fullstackpe/micro-db": "^1.1" } }
Then run the command
composer install
The ActiveRecord Class
If you have a table called book
. You need to create an active record Class
called Book
that extends the Class micro\db\ActiveRecord
. The class Book
needs to implement two methods: tableName() and dbConnection().
Example
use micro\db\ActiveRecord; class Book extends ActiveRecord { public static function tableName() { return 'book'; } public static function dbConnection() { $servername = "127.0.0.1"; $username = "root"; $password = "fullstack"; $database = "mysql"; return new \micro\db\Connection($servername, $username, $password, $database); } }
Then you can instantiate the class.
Example
// Create a new book $book = new Book(); $book->title('This is the title of my book'); $book->save(); // fetchs all books $books = Book::find()->all(); foreach($books as $book) { echo $book->title; } // search for one book $condition = [ ['=', 'id', '1'] ]; $book = Book::find()->where($condition)->one(); echo $book->title
The QueryBuilder Class
The queryBuilder class builds a Sql statement.
Example
$table = 'home'; $qB = new \micro\db\QueryBuilder(); $columns = [ 'id', 'name', 'address' ]; $sql = $qB->select($columns)->from($table)->getRawSql();
The variable $sql
is equal to the string "SELECT id
, name
, address
FROM home
".
Contribution
Feel free to contribute! Just create a new issue or a new pull request.
License
This library is released under the MIT License.