directus / sdk
Directus SDK for PHP
Requires
- php: >=5.5.0
- directus/config: ^1.0.0
- directus/database: ^1.0.1
- directus/filesystem: ^1.1.0
- directus/hash: ^1.0.0
- directus/hook: ^1.1.0
- directus/permissions: ^1.1.0
- directus/utils: ^1.1.0
- guzzlehttp/guzzle: ~5.3.0 | ^6.0.0
Requires (Dev)
- phpunit/phpunit: ^5.7.26
This package is not auto-updated.
Last update: 2020-11-13 22:25:23 UTC
README
Directus 6 PHP SDK (Legacy)
网站 • 文档 • API 参考 • 用户指南 • 演示 • 贡献
此代码库仍在开发中。仓库在这里作为任何人有兴趣为软件开发套件做出贡献的占位符。欢迎提出拉取请求和贡献!
对于由PHP驱动的应用程序,使用此SDK可以更容易地与您的Directus管理的数据库进行通信。
要求
- PHP版本5.5或更高。
安装
通过 Composer
您可以通过将 directus/sdk
添加到 composer.json
的 require
列表中,使用 Composer 安装SDK。
{ "require": { "directus/sdk": "^1.1.1" }, "minimum-stability": "dev", "repositories": [{ "type": "git", "url": "https://github.com/wellingguzman/zend-db" }] }
确保 dev
是 minimum-stability
。我们使用的是 Zend-DB 的分叉版本,因为它没有以任何新名称或版本发布,因此我们必须将 minimum-stability
设置为 dev
以便 composer 在 GitHub 中找到存储库并安装 Zend-DB。
然后运行 composer install
。
Composer 将下载所有依赖项并将它们复制到名为 vendor
的目录中。
要使用SDK,您必须包含 composer 自动加载。composer 自动加载是一个位于 vendor
目录中的文件,名称为 autoload.php
。
require_once 'vendor/autoload.php';
使用
数据库连接
require 'vendor/autoload.php'; $config = [ 'database' => [ 'hostname' => 'localhost', 'username' => 'root', 'password' => '123', 'database' => 'directus_db', // Optional // 'port' => 3306, // 'charset' => 'utf8' ], 'filesystem' => [ 'root' => '/path/to/directus/storage/uploads' ] ]; $client = \Directus\SDK\ClientFactory::create($config); $articles = $client->getItems('articles'); foreach ($articles as $article) { echo $article->title . '<br>'; }
Directus 主办
您可以在 https://directus.io 注册 Directus 主办账户。
require 'vendor/autoload.php'; $client = \Directus\SDK\ClientFactory::create('user-token', [ // the sub-domain in your instance url 'instance_key' => 'user--instance', 'version' => '1' // Optional - default 1.1 ]); $articles = $client->getItems('articles'); foreach ($articles as $article) { echo $article->title . '<br>'; }
您的服务器
require 'vendor/autoload.php'; $client = \Directus\SDK\ClientFactory::create('user-token', [ // Directus API Path without its version 'base_url' => 'http://directus.local', 'version' => '1' // Optional - default 1.1 ]); $articles = $client->getItems('articles'); foreach ($articles as $article) { echo $article->title . '<br>'; }
获取完整的响应
完整的响应要么是 Entry
或 EntryCollection
对象,具体取决于结果是一个单独的项目还是一个项目集合。
虽然可以像数组一样访问和设置属性,但它实际上不是数组。
例
$articles = $client->getItems('articles'); // OK $title = $articles['title']; $articles = $client->getItems('articles'); // Error $data = array_merge(['title' => 'Default'], $articles);
将整个响应作为数组获取
$articles = $client->getItems('articles'); $articlesArray = $articles->toArray(); // Works $data = array_merge(['title' => 'Default'], $articlesArray);
获取数据响应
响应包含数据和元数据,默认情况下,与EntryCollection
或Entry
交互时,您正在与“数据”对象交互。
将数据作为数组获取
$articles = $client->getItems('articles'); $articlesArray = $articles->getData();
元数据
元数据是另一个包装元数据信息的Entry
对象,它也可以像数组一样访问和设置数据,但它不是一个数组。
获取元数据
$articles = $client->getItems('articles'); $metadata = $articles->getMetaData();
$articles = $client->getItems('articles'); $metadataArray = $articles->getMetaData()->getData();
Directus采用GPLv3许可证发布。《RANGER Studio LLC》(http://rangerstudio.com)代表我们的项目社区拥有Directus的所有商标和标志。版权所有 © 2006-2018,《RANGER Studio LLC》(http://rangerstudio.com)。