slations / directus-php-sdk
Requires
- php: ^7.0 || ^8.0
- ext-curl: *
This package is auto-updated.
Last update: 2023-04-08 19:05:24 UTC
README
Directus 9 的 PHP SDK (@directus/directus)
文档
安装(Composer)
现在我们在 Packagist 上!这使得安装更加简单,你只需在你的 composer.json
文件中包含我们的包 alantiller/directus-php-sdk
并指定版本 ^1.0
,然后运行 composer update。
或者你可以运行 composer require alantiller/directus-php-sdk
,这会为你完成以上所有步骤 :)
安装(手动)
安装 Directus PHP SDK 非常简单和容易。你只需要从发布页面下载最新版本,并将 PHP 文件放置在你的
使用
我们已经简化了创建 SDK 新实例的方式,现在你可以在构造函数中设置配置设置,而不是另一个函数。你仍然可以在构造函数中像以前一样定义其他变量,如下所示。
<?php
include 'Directus.php'; // Include the SDK Class - MANUAL
include 'vendor/autoload.php'; // Include the composer autoload - COMPOSER
$directus = new Slations\DirectusSdk\Directus("https://url.to.your.directus.install.io/");
我个人更喜欢在创建新实例时设置命名空间,因为我认为这样更干净,但这完全取决于个人喜好。
配置选项
设置选项
目前有四个配置选项用户可以设置,这些选项需要按照以下顺序设置。以下标题开头的选项是必需的,其余的是可选的。
$directus = new Slations\DirectusSdk\Directus(option1*, option2*, option3, option4, option5);
选项 1* | 设置 API URL
你设置直接us 安装的基本 URL,此字段对于 SDK 的工作是必需的。
选项 2* | 设置认证前缀
你设置 directus 实例的认证前缀,这样 SDK 可以区分并行运行的两个实例。
选项 3 | 设置认证存储
默认情况下是 _SESSION
,但可以更改为以下选项以满足最终用户的需求。
_SESSION
- 这在服务器端将三个认证变量存储在 PHP 会话中,这是最安全的方法,但需要你定义会话 session_start();
_COOKIE
- 这在客户端将三个认证变量存储在 Cookie 中,但仍然会在服务器端存储和使用 PHP 会话,因为 PHP Cookie 支持的限制。如果你需要从 JS 使用 Cookie 获取访问令牌,这可能很有用。
选项 4 | 设置认证域
当选项2设置为_COOKIE
时,此选项才会使用。这设置了cookie的根认证域。默认情况下为/
,因此适用于整个站点,但也可以设置为文件夹,如果您只想让用户在子目录中进行认证。
选项5 | 设置剥离头信息
此选项主要用于开发,因此它被放在最后,但返回给用户的请求可以包含数组中的头信息以及内容。默认值为true
,但如果您需要访问请求的头信息,则可以将其设置为false
。
全局
获取API URL
$directus->base_url;
项目
创建单个项目
$directus->create_items('articles', array(
"status" => "draft",
"title" => "example",
"slug" => "example"
));
读取所有项目
$directus->get_items('articles');
按查询读取
$directus->get_items('articles', array(
search => "",
filter => array(
"date_published" => array(
"_gte" => "\$NOW" // If you use Directus provided dynamic options like $NOW make sure you ascape the item \$NOW so PHP knows it's not a PHP variable
)
)
));
按主键读取
$directus->get_items('articles', 15);
更新单个项目
$directus->update_items('articles', array("title" => "example_new"), 15);
删除项目
// One
$directus->delete_items('articles', 15);
// Multiple
$directus->delete_items('articles', array(15, 42));
认证
获取/设置令牌
设置静态认证令牌,如果有人认证,则将覆盖此认证令牌!
$directus->auth_token('abc.def.ghi');
$directus->auth_token;
登录
提交登录请求时,它会返回错误“errors”或直接返回true。如果已返回try,则表示登录成功,认证已使用配置中定义的方法(默认为_SESSION)存储。自动刷新的登录,因此您无需担心令牌过期。
$directus->auth_user('demo@slations.co.uk', 'Pa33w0rd');
刷新
默认情况下,SDK将每十五分钟自动刷新一次,因此令牌永远不会过期。我们将在将来添加关闭自动刷新的功能。
登出
$directus->auth_logout();
请求密码重置
第二个值是可选的,如果您想为重置电子邮件发送自定义返回URL。
$directus->auth_password_request('demo@slations.co.uk', 'https://example.com/comfirm');
重置密码
注意:第一个参数中传递的令牌在使用auth_password_request
时通过电子邮件发送给用户。
$directus->auth_password_reset('abc.def.ghi', 'N3wPa33W0rd');