Skip to content

An open-source, lightweight PHP library for working with Web of Things (WoT) Thing Descriptions (TD).

License

Notifications You must be signed in to change notification settings

doguabaris/WoT.php

Repository files navigation

WoT.php

An open-source, lightweight PHP library for working with Web of Things (WoT) Thing Descriptions (TD). It includes features to parse, validate, and generate TD documents. It adheres to the W3C TD JSON Schema but does not follow the W3C WoT Scripting API.

Features

  • Describe and document Thing Descriptions programmatically.
  • Generate compliant Thing Descriptions programmatically.
  • Parse Thing Descriptions from JSON format.
  • Validate Thing Descriptions against the W3C WoT TD schema.

Installation

Install the library via Composer:

composer require wot-php/wot-td

Usage

use WoT\Core\Describe\ThingDescription;
use WoT\Core\Generate\Generator;

$td = new ThingDescription();
$td->setTitle("Smart Thermostat")
    ->addProperty("temperature", [
        "type" => "number",
        "forms" => [
            [
                "href" => "/properties/temperature",
                "op" => ["readproperty"],
            ],
        ],
    ])
    ->addProperty("status", [
        "type" => "boolean",
        "forms" => [
            [
                "href" => "/properties/status",
                "op" => ["readproperty"],
            ],
        ],
    ]);

$json = Generator::generate($td);

echo $json;

Contributing

See CONTRIBUTING.md for contribution guidelines.

License

This library is licensed under the MIT License.

About

An open-source, lightweight PHP library for working with Web of Things (WoT) Thing Descriptions (TD).

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages