Phiber is a simple ORM framework that helps you code your applications faster.
- MySQL integration
- Object Orientation
- Without SQL
- Persistence
- Build websites, apps and api without a single SQL query line.
- Choose if you wanna make your SQL manually or by Object Mapping.
You can also:
- See generated SQL
- Activate console logs.
This library has been made by a Internet Systems Tecnology's student from Morrinhos - GO, Brazil.
Creator [Márcio Lucas]
I made this library to increase my knowledge and to help my programmer friends build apps in PHP faster, because I see big difficulty to build SQLs and i think it is very boring.
This library are in alpha test, I don't recommend to production environments.
Phiber uses just pure PHP and until now only has been builded the part to MySQL 5.5+. *In the next versions we will implement in BDs like PostgreSQL and Oracle.
Phiber have only depdencies with Composer.
Phiber requires PHP 5.3.3+ to run and MySQL 5.5+.
Installing Phiber in your project.
The Phiber instalation is made by Composer, using the console code below:
$ composer require marciioluucas/phiber
To configure Phiber is very simple, you have to create an archive called phiber_config.json in your project root path same like this.
$ROOT_PROJECT_PATH/phiber_config.json
{
"phiber": {
"language": "pt_br",
"link": {
"database_technology": "mysql",
"database_name": "phiber_test",
"url": "mysql:host=localhost;dbname=teste_phiber",
"user": "root",
"password": "",
"connection_cache": true
},
"log": true,
"execute_queries": true
}
}
InnerJoin example:
$phiber = new Phiber();
$phiber->setTable("user");
$phiber->setFields(["user.id","user.name","user.email"]);
$phiber->add($phiber->restrictions->join("user_address", ["pk_user", "fk_user"]));
$phiber->add($phiber->restrictions->and($phiber->restrictions->equals("user.id","1"), $phiber->restrictions->like("user.name","Marcio") ));
$phiber->add($phiber->restrictions->limit(15));
$phiber->add($phiber->restrictions->offset(5));
$phiber->add($phiber->restrictions->orderBy(['user.id ASC']));
$phiber->select(); // Execute query
echo $phiber->show(); // After execute, prints the generated query
Generate->
SELECT user.id, user.name, user.email FROM user INNER JOIN user_address ON pk_user = fk_user WHERE (user.id = :condition_user.id AND user.name LIKE CONCAT('%',:condition_user.name,'%')) ORDER BY user.id ASC LIMIT 15 OFFSET 5;
- In the create method, make the support for the composition and others.
- Split classes correctly
- Do Relationables tables
MIT
Free Software, Hell Yeah!