nypl/schemabuilder

0.1.1 2016-06-09 18:50 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:59 UTC


README

一个简单的库,用于生成 Schema.org

质量

Build Status

安装

此库需要 PHP 5.4 或更高版本。

建议您使用 Composer 安装此库。

依赖项

SchemaBuilder 依赖于并需要以下依赖项

  • danielstjules/stringy - 一个 PHP 字符串操作库。

入门指南

构建 Schema.org 对象

首先,使用对象的 类型 实例化您的 Schema.org 主对象。

例如,要创建一个 Book

<?php
$book = new NYPL\SchemaBuilder\Schema('Book');

然后,使用属性 名称 设置对象的属性

<?php
$book->addProperty('name', 'Le concerto');
$book->addProperty('author', 'Ferchault, Guy');

属性也可以包含其他 Schema.org 对象

<?php
// First, build the Offer object
$offer = new Schema('Offer');
$offer->addProperty('availability', 'http://schema.org/InStock');
$offer->addProperty('serialNumber', 'CONC91000937');
// Then, set the "offers" property on the Book object with the Offer object
$book->addProperty('offers', $offer);

以 JSON-LD 格式输出 Schema.org

当您完成 Schema.org 对象的构建后,以 JSON-LD 格式输出它

<head>
...
<?php $book->outputJsonLd();

以 Microdata 格式输出 Schema.org

当您完成 Schema.org 对象的构建后,您可以通过两种方式输出

1. 仅属性

要输出不带 HTML 包装的内容,请使用带有或不带有属性名称的 outputMicrodata 方法。

// Output an Object
<div <?php $book->outputMicrodata(); ?> itemid="#record">
// Output an Object's property
<h1 <?php $book->outputMicrodata('name'); ?>><?php $book->outputProperty('name'); ?></h1>

如果您没有指定属性名称,将生成描述主对象的微数据。

输出

<div itemscope itemtype="http://schema.org/Book" itemid="#record">
<h1 itemprop="name">Le concerto</h1>

2. 包装属性

要带有一个带有 HTML 包装的属性输出,请指定属性名称和您想要使用的包装器。

<?php $book->outputMicrodata('additionalType', 'link'); ?>
<?php $book->outputMicrodata('name', 'h3'); ?>

输出

<link itemprop="additionalType" href="http://schema.org/Product">
<h3 itemprop="name">Le concerto</h3>

测试

从项目目录中,可以使用 phpunit 运行测试。