Blocks
Introduction
Blocks are one of the main objects from the Notion. They are used to compose the contents of a page. All available blocks are listed bellow.
Metadata
All block objects have the metadata() method, witch exposes some metadata.
php
$p = Paragraph::fromString("Simple paragraph.");
$p->metadata()->id; // a9f03ee5...
$p->metadata()->createdTime->format("Y-m-d"); // 2022-07-01
$p->metadata()->lastEditedTime->format("Y-m-d"); // 2022-07-01
$p->metadata()->archived; // false
$p->metadata()->hasChildren; // false
Children
Some blocks additionally support adding or changing children. Children can be any other type of block.
php
/* Add child block */
$c = Callout::fromString("💡", "A brilliant idea");
$p = Paragraph::fromString("Simple paragraph.")
->addChild($c);
/* Change children blocks */
$p = $p->changeChildren(
Paragraph::fromString("Nested paragraph 1"),
Paragraph::fromString("Nested paragraph 2"),
);
count($p->children); // 2
/* Remove children blocks */
$p = $p->changeChildren();
Available blocks
| Block | Support children |
|---|---|
| Bookmark | ❌ |
| Breadcrumb | ❌ |
| BulletedListItem | ✔ |
| Callout | ✔ |
| ChildDatabase | ❌ |
| ChildPage | ❌ |
| Code | ❌ |
| Column | ✔ |
| ColumnList | ✔ |
| Divider | ❌ |
| Embed | ❌ |
| EquationBlock | ❌ |
| FileBlock | ❌ |
| Heading1 | ✔ |
| Heading2 | ✔ |
| Heading3 | ✔ |
| Image | ❌ |
| LinkPreview | ❌ |
| NumberedListItem | ✔ |
| Paragraph | ✔ |
| ❌ | |
| Quote | ✔ |
| TableOfContents | ❌ |
| ToDo | ✔ |
| Toggle | ✔ |
| Video | ❌ |
Notion SDK PHP