简单的PHP ORM

dev-master 2018-05-13 18:08 UTC

This package is not auto-updated.

Last update: 2024-09-29 01:43:07 UTC


README

HitCount Build Status Codacy Badge Scrutinizer Code Quality GitHub issues GitHub forks GitHub stars GitHub license Twitter

Phiber - 阿尔法版本 1.2

Imgur

Phiber是一个简单的ORM框架,可以帮助您更快地编写应用程序。

  • MySQL集成
  • 面向对象
  • 无需SQL

新功能!

  • 持久性
  • 构建网站、应用程序和API,无需一行SQL查询。
  • 选择您是想手动编写SQL还是通过对象映射。

您还可以

  • 查看生成的SQL
  • 激活控制台日志。

这个库是由一位来自巴西莫里尼奥斯市的互联网系统技术专业的学生制作的。

IFGoiano

创建者 [Márcio Lucas]

我制作这个库是为了增加我的知识,并帮助我的编程朋友更快地用PHP编写应用程序,因为我看到构建SQL非常困难,而且我认为这非常无聊。

这个库处于阿尔法测试阶段,我不建议在生产环境中使用。

技术

Phiber仅使用纯PHP,目前仅构建了MySQL 5.5+的部分。*在下一个版本中,我们将实现PostgreSQL和Oracle等数据库。

依赖关系

Phiber仅依赖Composer。

安装

Phiber需要PHP 5.3.3+和MySQL 5.5+才能运行。

在您的项目中安装Phiber。

Phiber的安装是通过Composer完成的,使用以下控制台代码

$ composer require marciioluucas/phiber

配置

配置Phiber非常简单,您需要在项目根路径创建一个名为phiber_config.json的存档,如下所示。

$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;

待办事项

  • 在创建方法中,支持组合和其他功能。
  • 正确分割类
  • 做关系表

许可证

MIT

自由软件,太棒了!