crystal / php-api-wrapper
像使用 Laravel Eloquent 或 Doctrine 一样工作 API(不再是梦想)
v6.2.5
2023-10-25 14:29 UTC
Requires
- php-curl-class/php-curl-class: ^8.3
- psr/cache: ^1.0 || ^2.0 || ^3.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.3
- symfony/var-dumper: ^5.1
Suggests
- api-platform/core: To integrate a DataProvider and support the Paginator of the Api Platform in addition to the support of Symfony.
- barryvdh/laravel-debugbar: To support request tracking in your Laravel app.
- laravel/framework: To integrate Laravel Collection, Pagination and Eloquent relations with your models.
- league/oauth2-client: To support OAuth2 request Transport.
- symfony/symfony: To integrate a ManagerRegistry, a Paginator and support serialization with your entities.
- dev-master
- v6.2.5
- v6.2.4
- v6.2.3
- v6.2.2
- v6.2.1
- v6.2.0
- v6.1.0
- v6.0.1
- v6.0.0
- v5.1.13
- v5.1.12
- v5.1.11
- v5.1.10
- v5.1.9
- v5.1.8
- v5.1.7
- v5.1.6
- v5.1.5
- v5.1.4
- v5.1.3
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.2
- v5.0.1
- v5.0.0
- v4.7.3
- v4.7.2
- v4.7.1
- v4.7.0
- v4.6.5
- v4.6.4
- v4.6.3
- v4.6.2
- v4.6.1
- v4.6.0
- v4.5.1
- v4.5.0
- v4.4.4
- v4.4.3
- v4.4.2
- v4.4.1
- v4.4.0
- v4.3.2
- v4.3.1
- v4.3.0
- v4.2.1
- v4.2.0
- v4.1.1
- v4.1.0
- v4.0.0
- v3.0.1
- v3.0.0
- v2.0.0
- v1.0.0
- dev-camillebaronnet/issue8
- dev-hotfix/lowercased_endpoint
- dev-feature/global_scope_model_delete
- dev-feature/exception_source
- dev-psr_cache_suggest
- dev-feature/response_headers
- dev-dev
This package is auto-updated.
Last update: 2024-08-30 01:23:23 UTC
README
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 开始
这是 API 包装器强大的用法。如果您决定与 Laravel 一起使用 PHP API Wrapper,则集成几乎完美。构建器返回集合,所有模型都可用于 Laravel 路由绑定(这真的很令人印象深刻)。更妙的是,您还可以在 Eloquent 和 PHP API Wrapper 之间创建复杂的关联。
👉 使用 Symfony(可选 API Platform)开始
这种实现也非常有趣,Symfony 桥接器为您提供了一个实现 Doctrine RepositoryInterface 的 Repository,它可以填充您的实体。还提供了一个 Manager,允许您管理存储库及其连接。如果您使用 API Platform,则完全兼容。还注册了一个 API Platform Data Provider。
⚠️ 请注意,此实现目前为只读。帮助我们实现缺失的部分!