crystal/php-api-wrapper

像使用 Laravel Eloquent 或 Doctrine 一样工作 API(不再是梦想)

安装次数: 75,531

依赖项: 0

建议者: 0

安全性: 0

星星: 117

关注者: 11

分支: 32

开放问题: 26

类型:

v6.2.5 2023-10-25 14:29 UTC

README

Latest Stable Version GitHub issues GitHub license

PHP API Wrapper 是一个基于一组传输和智能包装器的智能堆栈。它设计得易于集成到项目中,因为它提供了对 Laravel、Symfony、API Platform 和一个 独立堆栈 的桥梁。

🚀 使用 Composer 进行安装

composer require cristal/php-api-wrapper

👀 快速查看

<?php

// Configure your API

use Cristal\ApiWrapper\Model;
use Cristal\ApiWrapper\Transports\Basic;
use App\User;
use Curl\Curl;

$transport = new Basic('username', 'password', 'http://api.example.com/v1/', new Curl);
$api = new Api($transport);

Model::setApi($api);

// Use your model like Eloquent (Usage with Symfony is significantly different)

$activedUsers = User::where(['active' => true])->get();

foreach($activedUsers as $user){
    $user->active = false;
    $user->save();
}

📖 选择您的堆栈

👉 不使用 Laravel 或 Symfony 开始

如果您决定不使用 Laravel 或 Symfony,PHP API Wrapper 随带一个独立的 Builder 和一个受 Eloquent 启发的 Model,但完全独立。我保证!

不使用 Laravel 或 Symfony 开始

👉 使用 Laravel 开始

这是 API 包装器强大的用法。如果您决定与 Laravel 一起使用 PHP API Wrapper,则集成几乎完美。构建器返回集合,所有模型都可用于 Laravel 路由绑定(这真的很令人印象深刻)。更妙的是,您还可以在 Eloquent 和 PHP API Wrapper 之间创建复杂的关联。

使用 Laravel 开始

👉 使用 Symfony(可选 API Platform)开始

这种实现也非常有趣,Symfony 桥接器为您提供了一个实现 Doctrine RepositoryInterface 的 Repository,它可以填充您的实体。还提供了一个 Manager,允许您管理存储库及其连接。如果您使用 API Platform,则完全兼容。还注册了一个 API Platform Data Provider。

⚠️ 请注意,此实现目前为只读。帮助我们实现缺失的部分!

使用 Symfony 开始