mile23 / druplex
将 Silex 植入 Drupal 7
Requires
- php: ^5.5
- silex/silex: ^1.2
- symfony/security: ^2.6
Requires (Dev)
- phpunit/phpunit: ~4
- symfony/browser-kit: ^2.6
This package is auto-updated.
Last update: 2024-09-17 11:40:47 UTC
README
Druplex
由 Paul Mitchum,别名 Mile23 编写
是什么?
Druplex 是将 Silex RESTful API 实现附着到 Drupal 7 的半成品方法。
它更像是一个原型和一些代码,用于引导他人。
如何安装?
- 安装 Composer: https://getcomposer.org.cn/doc/00-intro.md#installation-linux-unix-osx
- 前往您的 Drupal 7 安装根目录。
- 输入以下命令:
composer require mile23/druplex @dev
- 将根目录下的
index.php
文件替换为位于vendor/mile23/druplex/index/druplex.index.php
的文件。当然,将其重命名为index.php
。 - 在您的站点
settings.php
文件中添加一些设置。它们应在$druplex
全局变量中。如果您不设置这些,Druplex 将使用默认值,其中一些可能不够安全。现有的设置
$druplex['debug']
$druplex['api_prefix']
$druplex['api_user']
$druplex['api_password']
- 将您的网络浏览器指向
http://example.com/api
。在通过 http 认证登录后,您将看到一个 Silex 错误。成功! - 尝试
http://example.com/api/user/1
,您将看到代表用户 1 的少量 JSON。太棒了。
api_user
和 api_password
设置用于保护 Silex 路径后的 http 认证。您不能在设置中关闭此功能。默认值:paul 密码
请注意,为了将 Druplex 添加到您的 Pantheon 托管的站点,您必须输入 composer require mile23/druplex @dev --prefer-dist
,因为 Pantheon(正确地)在尝试包含 git 子模块时会退缩。
RESTful API
此 API 在 JSON 上进行了标准化。
目前,您可以
- 通过 GET 查询用户 ID 来查询用户
- 通过 POST 创建用户
- 通过 PUT 更新用户
- 通过附加字段查询用户
- 为用户生成一次性登录
GET /api/user/{uid}
获取用户 ID 的用户净化版本。主要为了完整性和测试。
返回包含 uid
和 name
的资源。
POST /api/user
将用户资源发布到 Drupal 站点。
需要 name
和 mail
。
如果您尝试发送 pass
,它将失败。将为用户生成随机密码。好吧,永远不要通过互联网发送密码,对吧?:-) 请参阅此 API 的用户一次性登录部分以更改密码的解决方案。
只能通过 POST 添加存在于 Drupal 用户模式中的字段。也就是说,没有附加字段。
PUT /api/user/{uid}
更改用户记录。
您可以更改 Drupal 用户模式中存在的任何字段,除了 pass
或 name
。
您还可以更改任何附加字段的值。您必须包括 fieldname
、fieldcolumn
和 fieldvalue
。每次只能更改一个字段,并且不支持多值字段。
GET /api/user/{fieldname}/{fieldcolumn}/{fieldvalue}
查询具有给定附加字段值的用户。
您必须指定字段名、字段列和值。字段列是字段的模式列。字段可以有多列,因此我们指定哪一列。对于 text
字段,列是 value
。
如 GET 一样,返回净化后的用户记录。
GET /api/user/uli/{uid}
获取指定用户的单次登录URL。
请注意,“uli”是Drush命令,用于返回单次登录,这就是为什么在这里使用这个名字的原因。
返回一个包含两个属性的资源
user
是经过清洗的用户对象。uli
是单次登录URL。
测试在哪里,测试先生先生?
有关所有测试详情,请参阅TESTING.md。