dunglas / api-platform
Requires
- php: >=7.0
- api-platform/core: ^2.1
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- guzzlehttp/guzzle: ^6.0
- incenteev/composer-parameter-handler: ^2.0
- nelmio/cors-bundle: ^1.4
- phpdocumentor/reflection-docblock: ^3.0
- sensio/distribution-bundle: ^5.0.19
- sensio/framework-extra-bundle: ^3.0.2
- symfony/monolog-bundle: ^3.1.0
- symfony/swiftmailer-bundle: ^2.3.10
- symfony/symfony: 3.4.*
- twig/twig: ^1.0 || ^2.0
Requires (Dev)
- api-platform/schema-generator: ^1.0 || ^2.0
- behat/behat: ^3.1
- behat/mink: ^1.7
- behat/mink-browserkit-driver: ^1.3.1
- behat/mink-extension: ^2.2
- behat/symfony2-extension: ^2.1
- behatch/contexts: ^2.5
- sensio/generator-bundle: ^3.0
- symfony/phpunit-bridge: ^3.0
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.1.0-beta.3
- v2.1.0-beta.2
- v2.1.0-beta.1
- dev-master / 2.0.x-dev
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v2.0.0-rc.7
- v2.0.0-rc.6
- v2.0.0-rc.5
- v2.0.0-rc.4
- v2.0.0-rc.3
- v2.0.0-rc.2
- v2.0.0-rc.1
- v2.0.0-beta.2
- v2.0.0-beta.1
- v2.0.0-alpha.2
- v2.0.0-alpha.1
- v1.1.0-beta.1
- v1.0.0
- v1.0.0-beta.2
- v1.0.0-beta
- dev-flex
- dev-restore_sqlite_db
- dev-event_listener
- dev-custom_controller
- dev-data_provider
This package is auto-updated.
Last update: 2024-08-08 05:13:03 UTC
README
新一代的Web框架
官方项目文档可在 API Platform 网站 上找到。
API Platform 是一个下一代PHP Web框架,旨在轻松创建以API为中心的项目,但在可扩展性和灵活性方面没有妥协。
- 使用我们出色的代码生成器,可以从 Schema.org 词汇表中生成完整功能的数据模型,具有ORM映射和验证(您也可以手动完成)。
- 在几分钟内公开一个超媒体REST API,它通过重用实体元数据(ORM映射、验证和序列化)而无需额外配置;它支持 JSON-LD、Hydra,并提供了大量功能(CRUD、验证和错误处理、关系嵌入、筛选、排序等)。
- 享受强大的自动生成API文档(类似Swagger)。
- 轻松添加 JSON Web Token 或 OAuth 认证。
- 在 Behat 上创建一个开发友好的API上下文系统,以创建规范和测试。
- 使用您首选的客户端技术来开发您的网站UI、Webapp、移动应用或其他您想要的东西!经过测试和批准,与 AngularJS(包含集成)、Ionic、React 和本地移动应用兼容。
API Platform 支持 Web 开放标准(JSON-LD、Hydra、JWT、OAuth、HTTP、HTML5...)和 Linked Data 运动。您的API将自动在 Schema.org/JSON-LD 中公开结构化数据。这意味着您的API Platform 应用程序可以直接与语义网技术兼容。
这也意味着您的 SEO 将得到改善,因为 Google 建议这些格式。是的,Google 也爬取全 JavaScript 应用程序 以及传统的应用程序。
最后但同样重要的是,API Platform 是建立在 Symfony 全栈框架之上的,并遵循其最佳实践。这意味着您可以
- 使用与 API Platform 一起的 数千个 Symfony 扩展包
- 将 API Platform 集成到任何现有的 Symfony 应用程序 中
- 重用您所有的 Symfony 技能 并从可用的令人难以置信的大量 Symfony 文档中受益
- 享受流行的 Doctrine ORM(默认使用,但完全可选:您可以使用您想要的数据提供者,包括但不限于 MongoDB ODM 和 ElasticSearch)
安装
使用Composer创建您的新项目
composer create-project api-platform/api-platform my-api
开始修改
已预装了一个演示应用程序(书店)。
- 运行
app/console server:start
,然后在任何HTTP客户端中打开http://localhost:8000
以访问API - 打开
http://localhost:8000/doc
来阅读HTML文档并在沙盒中尝试 - 尝试使用HydraConsole客户端来利用JSON-LD和Hydra功能
- 使用JavaScript构建您的第一个自定义客户端,CORS头已配置
里面有什么?
API Platform为构建您的项目提供了坚实的基础
- 模式生成器,它可以从Schema.org类型生成PHP实体,具有Doctrine ORM映射、Symfony验证和扩展PHPDoc
- API包,可在几分钟内将实体公开为JSON-LD和Hydra功能支持的超媒体REST API
- NelmioApiDocBundle与API包集成,以自动生成美观的、易于阅读的文档和沙盒来测试API
- Behat和Behatch配置,以轻松测试API
- 利用Symfony框架及其生态系统的全部力量
- Doctrine ORM/DBAL
- 一个AppBundle,您可以开始编写代码
- 为所有内容启用了注解
- Swiftmailer和Twig创建美丽的电子邮件
它预配置了以下包
- Symfony - API Platform建立在全栈Symfony框架之上
- API Platform的API包 - 创建强大的超媒体API,支持JSON-LD和Hydra
- NelmioCorsBundle - 支持CORS头
- NelmioApiDocBundle - 生成易于阅读的文档
- FosHttpCacheBundle - 添加强大的缓存功能,支持Varnish、Nginx和内置的PHP反向代理
- SensioFrameworkExtraBundle - 添加了几个增强功能,包括模板和路由注解功能
- DoctrineBundle - 添加了对Doctrine ORM的支持
- TwigBundle - 添加了对Twig模板引擎的支持(在电子邮件中很有用)
- SecurityBundle - 通过集成Symfony的安全组件进行身份验证和角色管理
- SwiftmailerBundle - 添加了对Swiftmailer的支持,这是一个用于发送电子邮件的库
- MonologBundle - 添加了对Monolog的支持,这是一个日志库
- WebProfilerBundle(在开发/测试环境中) - 添加了分析功能和网络调试工具栏
- SensioDistributionBundle(在开发/测试环境中) - 添加了配置和使用Symfony分发的功能
- SensioGeneratorBundle (在开发/测试环境中) - 添加代码生成功能
API Platform 包含的所有库和捆绑包均在 MIT 或 BSD 许可下发布。
身份验证支持
Json Web Token 是一种轻量级且流行的方式,可以无状态地处理身份验证。安装 LexikJWTAuthenticationBundle 以向 API Platform 添加 JWT 支持。
使用 FOSOAuthServerBundle 也可以轻松添加 OAuth 支持。
验证发布签名
API Platform 项目发布的软件可以使用以下 GPG 公共签名通过 git
进行验证 。
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
xA==
=RO9E
-----END PGP PUBLIC KEY BLOCK-----
享受吧!
致谢
由 Kévin Dunglas 创建。由 Les-Tilleuls.coop 赞助。如有需要,可提供商业支持。